Skip to content

Commit 7bf22be

Browse files
authored
Add Logging to FSharp.Analyzer.SDK (#1413)
* Add Serilog.Extensions.Logging to paket.dependencies and references * Add logging to FSharp.Analyzers.SDK * Change FsAutocomplete analyzer name to be less ambigious from Analyzer SDK
1 parent 663b189 commit 7bf22be

File tree

5 files changed

+12
-5
lines changed

5 files changed

+12
-5
lines changed

paket.dependencies

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ nuget Serilog >= 2.10.0
3030
nuget Serilog.Sinks.File >= 5.0.0
3131
nuget Serilog.Sinks.Console >= 4.0.0
3232
nuget Serilog.Sinks.Async >= 1.5
33+
nuget Serilog.Extensions.Logging
3334
nuget Destructurama.FSharp
3435
nuget FSharp.UMX >= 1.1
3536
nuget FSharp.Formatting >= 14.0

paket.lock

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,9 @@ NUGET
487487
Serilog (4.1)
488488
System.Diagnostics.DiagnosticSource (>= 8.0.1) - restriction: || (&& (== net8.0) (>= net462) (< netstandard2.0)) (&& (== net8.0) (>= net471)) (&& (== net8.0) (< net6.0)) (&& (== net9.0) (>= net462) (< netstandard2.0)) (&& (== net9.0) (>= net471)) (&& (== net9.0) (< net6.0)) (== netstandard2.0) (== netstandard2.1)
489489
System.Threading.Channels (>= 8.0) - restriction: || (&& (== net8.0) (>= net462) (< netstandard2.0)) (&& (== net8.0) (>= net471)) (&& (== net8.0) (< net6.0)) (&& (== net9.0) (>= net462) (< netstandard2.0)) (&& (== net9.0) (>= net471)) (&& (== net9.0) (< net6.0)) (== netstandard2.0) (== netstandard2.1)
490+
Serilog.Extensions.Logging (8.0)
491+
Microsoft.Extensions.Logging (>= 8.0)
492+
Serilog (>= 3.1.1)
490493
Serilog.Sinks.Async (2.1)
491494
Serilog (>= 4.1)
492495
Serilog.Sinks.Console (6.0)

src/FsAutoComplete.Core/Debug.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace FsAutoComplete
88
module Loggers =
99
open FsAutoComplete.Logging
1010

11-
let analyzers = LogProvider.getLoggerByName "Analyzers"
11+
let analyzers = LogProvider.getLoggerByName "FsAutoComplete.Analyzers"
1212

1313

1414
[<RequireQualifiedAccess>]

src/FsAutoComplete.Core/paket.references

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ Ionide.ProjInfo.ProjectSystem
1616
FSharp.Analyzers.SDK
1717
Ionide.Analyzers
1818
FSharp.Analyzers.Build
19+
Serilog.Extensions.Logging

src/FsAutoComplete/LspServers/AdaptiveServerState.fs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ open FsAutoComplete.Lsp.Helpers
3939
open FSharp.Compiler.Syntax
4040
open FsAutoComplete.ProjectWorkspace
4141
open FSharp.Analyzers.SDK
42-
42+
open Serilog.Extensions.Logging
4343

4444
/// <summary>Handle tracking in-flight ServerProgressReport and allow cancellation of actions if a client decides to.</summary>
4545
type ServerProgressLookup() =
@@ -170,13 +170,14 @@ type AdaptiveState
170170
let progressLookup = new ServerProgressLookup()
171171
do disposables.Add progressLookup
172172

173+
let serilogLoggerFactory = new SerilogLoggerFactory(Serilog.Log.Logger)
174+
do disposables.Add serilogLoggerFactory
173175

174176
let projectSelector = cval<IFindProject> (FindFirstProject())
175177

176178
let rootPath = cval<string option> None
177179

178180
let config = cval<FSharpConfig> FSharpConfig.Default
179-
// let useTransparentCompiler = cval<bool> true
180181

181182
let checker =
182183
config
@@ -223,9 +224,10 @@ type AdaptiveState
223224
[| yield! fsiCompilerToolLocations |> Array.map toCompilerToolArgument
224225
yield! fsiExtraParameters |]
225226

227+
226228
let analyzersClient =
227229
FSharp.Analyzers.SDK.Client<FSharp.Analyzers.SDK.EditorAnalyzerAttribute, FSharp.Analyzers.SDK.EditorContext>(
228-
Microsoft.Extensions.Logging.Abstractions.NullLogger.Instance
230+
serilogLoggerFactory.CreateLogger "FSharp.Analyzers.SDK"
229231
)
230232

231233
/// <summary>Loads F# Analyzers from the configured directories</summary>
@@ -268,7 +270,7 @@ type AdaptiveState
268270

269271
Loggers.analyzers.info (
270272
Log.setMessageI
271-
$"From {analyzerPath:name}: {assemblyLoadStats.AnalyzerAssemblies:dllNo} dlls including {assemblyLoadStats.Analyzers:analyzersNo} analyzers"
273+
$"From {analyzerPath:name}: {assemblyLoadStats.AnalyzerAssemblies:dllNo} dlls including {assemblyLoadStats.Analyzers:analyzersNo} analyzers with {assemblyLoadStats.FailedAssemblies:failedAssemblies} failed assemblies"
272274
))
273275

274276
else

0 commit comments

Comments
 (0)