---
url: /logly.zig/examples/file-logging.md
description: >-
  Example of logging to files with Logly.zig. Write logs to multiple
  destinations including console and files with automatic directory creation.
---

# File Logging

This example demonstrates how to log to a file. Logly supports logging to multiple destinations simultaneously (e.g., console and file).

## Code Example

```zig
const std = @import("std");
const logly = @import("logly");

pub fn main() !void {
    var gpa = std.heap.DebugAllocator(.{}){};
    defer _ = gpa.deinit();
    const allocator = gpa.allocator();

    const logger = try logly.Logger.init(allocator);
    defer logger.deinit();

    // Configure to disable auto console sink
    var config = logly.Config.default();
    config.autoSink = false;
    logger.configure(config);

    // Add file sink (also available as logger.add())
     _ = try logger.addSink(.{
        .path = "logs/app.log",
    });

    // Add console sink
     _ = try logger.add(.{});  // Using the short alias

    try logger.info("Logging to both file and console", @src());
    try logger.success("File created in logs/app.log", @src());

    // Flush to ensure all data is written
    try logger.flush();

    std.debug.print("\nFile logging example completed! Check logs/app.log\n", .{});
}
```

## Expected Output

Console:

```text
[INFO] Logging to both file and console
[SUCCESS] File created in logs/app.log
```

File (`logs/app.log`):

```text
[INFO] Logging to both file and console
[SUCCESS] File created in logs/app.log
```
