@@ -8,12 +8,9 @@ open Microsoft.Extensions.Logging
8
8
9
9
open CSharpLanguageServer.Types
10
10
open CSharpLanguageServer.Lsp
11
- <<<<<<< HEAD
12
11
open CSharpLanguageServer.Logging
13
- =======
14
12
open CSharpLanguageServer.Diagnostics
15
13
16
- >>>>>>> 756634 c ( Add " Diagnose" argument)
17
14
18
15
type CLIArguments =
19
16
| [<AltCommandLine( " -v" ) >] Version
@@ -26,46 +23,31 @@ type CLIArguments =
26
23
match s with
27
24
| Version -> " Display versioning information"
28
25
| Solution _ -> " Specify .sln file to load (relative to CWD)"
29
- | LogLevel _ -> " Set log level, <log| info|warning|error>; default is `log `"
26
+ | LogLevel _ -> " Set log level, <trace|debug| info|warning|error>; default is `info `"
30
27
| Diagnose -> " Run diagnostics"
31
28
32
29
33
- let configureLogger ( logLevelArg : string ): unit =
34
- System.Console.Error.WriteLine( " configureLogger; logLevelArg={0}" , logLevelArg)
35
- let logLevel =
36
- match logLevelArg with
37
- | " error" -> LogEventLevel.Error
38
- | " warning" -> LogEventLevel.Warning
39
- | " info" -> LogEventLevel.Information
40
- | " log" -> LogEventLevel.Verbose
41
- | _ -> LogEventLevel.Information
42
-
43
- let logConfig =
44
- LoggerConfiguration()
45
- .MinimumLevel.ControlledBy( LoggingLevelSwitch( logLevel))
46
- .Enrich.FromLogContext()
47
- .WriteTo.Async( fun conf ->
48
- conf.Console(
49
- outputTemplate =
50
- " [{Timestamp:HH:mm:ss.fff} {Level:u3}] [{SourceContext}] {Message:lj}{NewLine}{Exception}" ,
51
- // Redirect all logs to stderr since stdout is used to communicate with client.
52
- standardErrorFromLevel = Nullable<_>( LogEventLevel.Verbose),
53
- theme = Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme.Code
54
- )
55
- |> ignore)
56
-
57
- Log.Logger <- logConfig.CreateLogger()
58
-
59
-
60
30
[<EntryPoint>]
61
31
let entry args =
62
32
let argParser = ArgumentParser.Create< CLIArguments>( programName = " csharp-ls" )
63
33
let serverArgs = argParser.Parse args
64
34
35
+ let parseLogLevel logLevelArg =
36
+ match logLevelArg with
37
+ | " error" -> LogLevel.Error
38
+ | " warning" -> LogLevel.Warning
39
+ | " info" -> LogLevel.Information
40
+ | " debug" -> LogLevel.Debug
41
+ | " trace" -> LogLevel.Trace
42
+ | _ -> LogLevel.Information
43
+
65
44
let settings = {
66
45
ServerSettings.Default with
67
46
SolutionPath = serverArgs.TryGetResult <@ Solution @>
68
- LogLevel = serverArgs.TryGetResult(<@ LogLevel @>) |> Option.defaultValue " log"
47
+ LogLevel =
48
+ serverArgs.TryGetResult(<@ LogLevel @>)
49
+ |> Option.map parseLogLevel
50
+ |> Option.defaultValue LogLevel.Information
69
51
}
70
52
71
53
try
@@ -76,11 +58,11 @@ let entry args =
76
58
77
59
match serverArgs.TryGetResult <@ Diagnose @> with
78
60
| Some _ ->
79
- configureLogger " log "
61
+ Logging.setupLogging LogLevel.Trace
80
62
diagnoseSolution settings
81
63
82
64
| _ ->
83
- configureLogger settings.LogLevel
65
+ Logging.setupLogging settings.LogLevel
84
66
Server.start settings
85
67
86
68
with
0 commit comments