Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"rollForward": false
},
"fable": {
"version": "5.0.0-rc.3",
"version": "5.4.0",
"commands": [
"fable"
],
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ let factory =
let logger = factory.CreateLogger("MyApp.Service")

logger.LogInformation("Application started")
logger.LogDebug("Processing request for {UserId}", box 42)
logger.LogDebug("Processing request for {UserId}", 42)
logger.LogError("Something went wrong")
```

Expand All @@ -48,7 +48,7 @@ let factory =
builder.AddProvider(LoggerProvider()))

let logger = factory.CreateLogger("MyApp")
logger.LogInformation("Hello from {Platform}!", box "JavaScript")
logger.LogInformation("Hello from {Platform}!", "JavaScript")
```

### Python (structlog)
Expand All @@ -71,7 +71,7 @@ let jsonFactory =
builder.AddProvider(JsonLoggerProvider()))

let logger = factory.CreateLogger("MyApp")
logger.LogInformation("User {Name} logged in", box "Alice")
logger.LogInformation("User {Name} logged in", "Alice")
```

### Erlang/BEAM (OTP logger)
Expand All @@ -87,7 +87,7 @@ let factory =
builder.AddProvider(LoggerProvider()))

let logger = factory.CreateLogger("MyApp")
logger.LogWarning("Connection pool running low: {Available} remaining", box 3)
logger.LogWarning("Connection pool running low: {Available} remaining", 3)
```

## Log Levels
Expand Down Expand Up @@ -125,7 +125,7 @@ Use named placeholders in log messages for structured logging. The placeholder n
become keys in the structured log output, while values are substituted positionally:

```fsharp
logger.LogInformation("Order {OrderId} placed by {Customer}", box 1234, box "Alice")
logger.LogInformation("Order {OrderId} placed by {Customer}", 1234, "Alice")
// Output: MyApp - Order 1234 placed by Alice
```

Expand Down
4 changes: 2 additions & 2 deletions paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ storage: none
framework: netstandard2.0

nuget FSharp.Core >= 5.0.0 lowest_matching: true
nuget Fable.Core >= 5.0.0-rc.1
nuget Fable.Core >= 5.1.0
nuget Fable.Beam >= 5.0.0-rc.32

group Test
Expand All @@ -14,4 +14,4 @@ group Test
framework: net10.0

nuget FSharp.Core
nuget Fable.Core >= 5.0.0-rc.1
nuget Fable.Core >= 5.1.0
4 changes: 2 additions & 2 deletions paket.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ NUGET
Fable.Beam (5.0.0-rc.32)
Fable.Core (>= 5.0)
FSharp.Core (>= 5.0)
Fable.Core (5.0.0-rc.1)
Fable.Core (5.1)
FSharp.Core (>= 4.7.2)
FSharp.Core (5.0)

Expand All @@ -14,6 +14,6 @@ STORAGE: NONE
RESTRICTION: == net10.0
NUGET
remote: https://api.nuget.org/v3/index.json
Fable.Core (5.0.0-rc.1)
Fable.Core (5.1)
FSharp.Core (>= 4.7.2)
FSharp.Core (11.0.100)
2 changes: 1 addition & 1 deletion test/TestBeamLogger.fs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ let ``test Beam logger logs with format args`` () =
let provider = LoggerProvider()
let factory = LoggerFactory.Create(fun builder -> builder.AddProvider(provider))
let logger = factory.CreateLogger("beam-test")
logger.LogInformation("hello {name}", box "World")
logger.LogInformation("hello {name}", "World")
#else
()
#endif
Expand Down
2 changes: 1 addition & 1 deletion test/TestConsoleLogger.fs
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ let ``test ConsoleLogger logs without error`` () =
let ``test ConsoleLogger logs with format args`` () =
let logger = ConsoleLogger("test") :> ILogger
// ConsoleLogger uses String.Format internally, so use indexed placeholders
logger.Log(LogLevel.Information, "hello {0}", box "World")
logger.Log(LogLevel.Information, "hello {0}", "World")
2 changes: 1 addition & 1 deletion test/TestExtensions.fs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ let ``test LogDebug with format args`` () =
let provider = new MockLoggerProvider()
let factory = LoggerFactory.Create(fun builder -> builder.AddProvider(provider))
let logger = factory.CreateLogger("test")
logger.LogInformation("hello {name}", box "World")
logger.LogInformation("hello {name}", "World")
let log = provider.Loggers.[0].Logs.[0]
log.Format |> equal "hello {name}"
log.Args.Length |> equal 1
2 changes: 1 addition & 1 deletion test/TestJSLogger.fs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ let ``test JS logger logs with format args`` () =
let provider = LoggerProvider()
let factory = LoggerFactory.Create(fun builder -> builder.AddProvider(provider))
let logger = factory.CreateLogger("js-test")
logger.LogInformation("hello {name}", box "World")
logger.LogInformation("hello {name}", "World")
#else
()
#endif
Expand Down
2 changes: 1 addition & 1 deletion test/TestLogLevel.fs
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,4 @@
let ``test LogState.Create with exception`` () =
let ex = System.Exception("test error")
let state = LogState.Create(LogLevel.Error, "failed", error = ex)
state.Exception |> equal (Some ex)
state.Exception |> equal (Some (ex :> exn))

Check warning on line 54 in test/TestLogLevel.fs

View workflow job for this annotation

GitHub Actions / build

This upcast is unnecessary - the types are identical

Check warning on line 54 in test/TestLogLevel.fs

View workflow job for this annotation

GitHub Actions / build

This upcast is unnecessary - the types are identical
2 changes: 1 addition & 1 deletion test/TestStructlog.fs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ let ``test Structlog logger logs with format args`` () =
let provider = ConsoleLoggerProvider()
let factory = LoggerFactory.Create(fun builder -> builder.AddProvider(provider))
let logger = factory.CreateLogger("test")
logger.LogInformation("hello {name}", box "World")
logger.LogInformation("hello {name}", "World")
#else
()
#endif
Expand Down
Loading