@@ -26,19 +26,21 @@ module Types =
2626 type MappedContext = string -> obj -> bool -> IDisposable
2727
2828 /// Type representing a Log
29- type Log =
30- { LogLevel: LogLevel
31- Message: MessageThunk
32- Exception: exn option
33- Parameters: obj list
34- AdditionalNamedParameters: (( string * obj * bool ) list ) }
35-
36- static member StartLogLevel ( logLevel : LogLevel ) =
37- { LogLevel = logLevel
38- Message = None
39- Exception = None
40- Parameters = List.empty
41- AdditionalNamedParameters = List.empty }
29+ type Log = {
30+ LogLevel: LogLevel
31+ Message: MessageThunk
32+ Exception: exn option
33+ Parameters: obj list
34+ AdditionalNamedParameters: (( string * obj * bool ) list )
35+ } with
36+
37+ static member StartLogLevel ( logLevel : LogLevel ) = {
38+ LogLevel = logLevel
39+ Message = None
40+ Exception = None
41+ Parameters = List.empty
42+ AdditionalNamedParameters = List.empty
43+ }
4244
4345 /// An interface wrapper for `Logger`. Useful when using depedency injection frameworks.
4446 type ILog =
@@ -58,7 +60,10 @@ module Types =
5860 stack.Pop() .Dispose()
5961
6062 member __.Push ( item : IDisposable ) = stack.Push item
61- member __.Push ( items : IDisposable list ) = items |> List.iter stack.Push
63+
64+ member __.Push ( items : IDisposable list ) =
65+ items
66+ |> List.iter stack.Push
6267
6368 static member Create ( items : IDisposable list ) =
6469 let ds = new DisposableStack()
@@ -110,7 +115,9 @@ module Types =
110115 ///
111116 /// **Output Type**
112117 /// * `unit`
113- member logger.fatal ( logConfig : Log -> Log ) = logger.fatal' logConfig |> ignore
118+ member logger.fatal ( logConfig : Log -> Log ) =
119+ logger.fatal' logConfig
120+ |> ignore
114121
115122 /// **Description**
116123 ///
@@ -135,7 +142,9 @@ module Types =
135142 ///
136143 /// **Output Type**
137144 /// * `unit`
138- member logger.error ( logConfig : Log -> Log ) = logger.error' logConfig |> ignore
145+ member logger.error ( logConfig : Log -> Log ) =
146+ logger.error' logConfig
147+ |> ignore
139148
140149 /// **Description**
141150 ///
@@ -160,7 +169,9 @@ module Types =
160169 ///
161170 /// **Output Type**
162171 /// * `unit`
163- member logger.warn ( logConfig : Log -> Log ) = logger.warn' logConfig |> ignore
172+ member logger.warn ( logConfig : Log -> Log ) =
173+ logger.warn' logConfig
174+ |> ignore
164175
165176 /// **Description**
166177 ///
@@ -185,7 +196,9 @@ module Types =
185196 ///
186197 /// **Output Type**
187198 /// * `unit`
188- member logger.info ( logConfig : Log -> Log ) = logger.info' logConfig |> ignore
199+ member logger.info ( logConfig : Log -> Log ) =
200+ logger.info' logConfig
201+ |> ignore
189202
190203 /// **Description**
191204 ///
@@ -210,7 +223,9 @@ module Types =
210223 ///
211224 /// **Output Type**
212225 /// * `unit`
213- member logger.debug ( logConfig : Log -> Log ) = logger.debug' logConfig |> ignore
226+ member logger.debug ( logConfig : Log -> Log ) =
227+ logger.debug' logConfig
228+ |> ignore
214229
215230 /// **Description**
216231 ///
@@ -235,7 +250,9 @@ module Types =
235250 ///
236251 /// **Output Type**
237252 /// * `unit`
238- member logger.trace ( logConfig : Log -> Log ) = logger.trace' logConfig |> ignore
253+ member logger.trace ( logConfig : Log -> Log ) =
254+ logger.trace' logConfig
255+ |> ignore
239256
240257
241258 /// An interface for retrieving a concrete logger such as Serilog, Nlog, etc.
@@ -302,9 +319,16 @@ module Types =
302319 /// **Exceptions**
303320 ///
304321 let addParameters ( ``params`` : obj list ) ( log : Log ) =
305- let ``params`` = `` params `` |> List.map box
306- { log with Parameters = log.Parameters @ `` params `` }
322+ let ``params`` =
323+ `` params ``
324+ |> List.map box
307325
326+ {
327+ log with
328+ Parameters =
329+ log.Parameters
330+ @ `` params ``
331+ }
308332
309333
310334 /// **Description**
@@ -323,9 +347,10 @@ module Types =
323347 ///
324348 /// **Exceptions**
325349 ///
326- let addContext ( key : string ) ( value : obj ) ( log : Log ) =
327- { log with
328- AdditionalNamedParameters = List.append log.AdditionalNamedParameters [ key, ( box value), false ] }
350+ let addContext ( key : string ) ( value : obj ) ( log : Log ) = {
351+ log with
352+ AdditionalNamedParameters = List.append log.AdditionalNamedParameters [ key, ( box value), false ]
353+ }
329354
330355
331356 /// **Description**
@@ -346,9 +371,10 @@ module Types =
346371 ///
347372 /// **Exceptions**
348373 ///
349- let addContextDestructured ( key : string ) ( value : obj ) ( log : Log ) =
350- { log with
351- AdditionalNamedParameters = List.append log.AdditionalNamedParameters [ key, ( box value), true ] }
374+ let addContextDestructured ( key : string ) ( value : obj ) ( log : Log ) = {
375+ log with
376+ AdditionalNamedParameters = List.append log.AdditionalNamedParameters [ key, ( box value), true ]
377+ }
352378
353379
354380 /// **Description**
@@ -402,7 +428,11 @@ module Providers =
402428 open System.Linq .Expressions
403429
404430 let getLogManagerType () = Type.GetType( " Serilog.Log, Serilog" )
405- let isAvailable () = getLogManagerType () |> isNull |> not
431+
432+ let isAvailable () =
433+ getLogManagerType ()
434+ |> isNull
435+ |> not
406436
407437 let getPushProperty () =
408438
@@ -414,7 +444,14 @@ module Providers =
414444 ()
415445
416446 let pushPropertyMethod =
417- ndcContextType.GetMethod( " PushProperty" , [| typedefof< string>; typedefof< obj>; typedefof< bool> |])
447+ ndcContextType.GetMethod(
448+ " PushProperty" ,
449+ [|
450+ typedefof< string>
451+ typedefof< obj>
452+ typedefof< bool>
453+ |]
454+ )
418455
419456 let nameParam = Expression.Parameter( typedefof< string>, " name" )
420457 let valueParam = Expression.Parameter( typedefof< obj>, " value" )
@@ -438,11 +475,27 @@ module Providers =
438475
439476 let getForContextMethodCall () =
440477 let logManagerType = getLogManagerType ()
441- let method = logManagerType.GetMethod( " ForContext" , [| typedefof< string>; typedefof< obj>; typedefof< bool> |])
478+
479+ let method =
480+ logManagerType.GetMethod(
481+ " ForContext" ,
482+ [|
483+ typedefof< string>
484+ typedefof< obj>
485+ typedefof< bool>
486+ |]
487+ )
488+
442489 let propertyNameParam = Expression.Parameter( typedefof< string>, " propertyName" )
443490 let valueParam = Expression.Parameter( typedefof< obj>, " value" )
444491 let destructureObjectsParam = Expression.Parameter( typedefof< bool>, " destructureObjects" )
445- let exrs : Expression [] = [| propertyNameParam; valueParam; destructureObjectsParam |]
492+
493+ let exrs : Expression [] = [|
494+ propertyNameParam
495+ valueParam
496+ destructureObjectsParam
497+ |]
498+
446499 let methodCall = Expression.Call( null , method, exrs)
447500
448501 let func =
@@ -452,16 +505,20 @@ module Providers =
452505
453506 fun name -> func.Invoke( " SourceContext" , name, false )
454507
455- type SerilogGateway =
456- { Write: obj -> obj -> string -> obj [] -> unit
457- WriteException: obj -> obj -> exn -> string -> obj [] -> unit
458- IsEnabled: obj -> obj -> bool
459- TranslateLevel: LogLevel -> obj }
508+ type SerilogGateway = {
509+ Write: obj -> obj -> string -> obj [] -> unit
510+ WriteException: obj -> obj -> exn -> string -> obj [] -> unit
511+ IsEnabled: obj -> obj -> bool
512+ TranslateLevel: LogLevel -> obj
513+ } with
460514
461515 static member Create () =
462516 let logEventLevelType = Type.GetType( " Serilog.Events.LogEventLevel, Serilog" )
463517
464- if ( logEventLevelType |> isNull) then
518+ if
519+ ( logEventLevelType
520+ |> isNull)
521+ then
465522 failwith ( " Type Serilog.Events.LogEventLevel was not found." )
466523
467524 let debugLevel = Enum.Parse( logEventLevelType, " Debug" , false )
@@ -483,7 +540,10 @@ module Providers =
483540
484541 let loggerType = Type.GetType( " Serilog.ILogger, Serilog" )
485542
486- if ( loggerType |> isNull) then
543+ if
544+ ( loggerType
545+ |> isNull)
546+ then
487547 failwith ( " Type Serilog.ILogger was not found." )
488548
489549 let isEnabledMethodInfo = loggerType.GetMethod( " IsEnabled" , [| logEventLevelType |])
@@ -497,7 +557,14 @@ module Providers =
497557 Expression.Lambda< Func< obj, obj, bool>>( isEnabledMethodCall, instanceParam, levelParam) .Compile()
498558
499559 let writeMethodInfo =
500- loggerType.GetMethod( " Write" , [| logEventLevelType; typedefof< string>; typedefof< obj[]> |])
560+ loggerType.GetMethod(
561+ " Write" ,
562+ [|
563+ logEventLevelType
564+ typedefof< string>
565+ typedefof< obj[]>
566+ |]
567+ )
501568
502569 let messageParam = Expression.Parameter( typedefof< string>)
503570 let propertyValuesParam = Expression.Parameter( typedefof< obj[]>)
@@ -517,7 +584,15 @@ module Providers =
517584 let write = expression.Compile()
518585
519586 let writeExceptionMethodInfo =
520- loggerType.GetMethod( " Write" , [| logEventLevelType; typedefof< exn>; typedefof< string>; typedefof< obj[]> |])
587+ loggerType.GetMethod(
588+ " Write" ,
589+ [|
590+ logEventLevelType
591+ typedefof< exn>
592+ typedefof< string>
593+ typedefof< obj[]>
594+ |]
595+ )
521596
522597 let exceptionParam = Expression.Parameter( typedefof< exn>)
523598
@@ -543,13 +618,15 @@ module Providers =
543618 )
544619 .Compile()
545620
546- { Write =
621+ {
622+ Write =
547623 ( fun logger level message formattedParmeters -> write.Invoke( logger, level, message, formattedParmeters))
548624 WriteException =
549625 fun logger level ex message formattedParmeters ->
550626 writeException.Invoke( logger, level, ex, message, formattedParmeters)
551627 IsEnabled = fun logger level -> isEnabled.Invoke( logger, level)
552- TranslateLevel = translateLevel }
628+ TranslateLevel = translateLevel
629+ }
553630
554631 type private SerigLogProvider () =
555632 let getLoggerByName = getForContextMethodCall ()
@@ -562,7 +639,11 @@ module Providers =
562639
563640 match messageFunc with
564641 | None -> serilogGateway.IsEnabled logger translatedValue
565- | Some _ when serilogGateway.IsEnabled logger translatedValue |> not -> false
642+ | Some _ when
643+ serilogGateway.IsEnabled logger translatedValue
644+ |> not
645+ ->
646+ false
566647 | Some m ->
567648 match `` exception `` with
568649 | Some ex -> serilogGateway.WriteException logger translatedValue ex ( m ()) formatParams
@@ -571,7 +652,9 @@ module Providers =
571652 true
572653
573654 interface ILogProvider with
574- member this.GetLogger ( name : string ) : Logger = getLoggerByName name |> writeMessage
655+ member this.GetLogger ( name : string ) : Logger =
656+ getLoggerByName name
657+ |> writeMessage
575658
576659 member this.OpenMappedContext ( key : string ) ( value : obj ) ( destructure : bool ) : IDisposable =
577660 pushProperty key value destructure
@@ -602,7 +685,8 @@ module LogProvider =
602685
603686 let private noopDisposable =
604687 { new IDisposable with
605- member __.Dispose () = () }
688+ member __.Dispose () = ()
689+ }
606690
607691 /// **Description**
608692 ///
@@ -687,7 +771,8 @@ module LogProvider =
687771
688772 { new ILog with
689773 member x.Log = logFunc
690- member x.MappedContext = openMappedContextDestucturable }
774+ member x.MappedContext = openMappedContextDestucturable
775+ }
691776
692777 /// **Description**
693778 ///
@@ -698,7 +783,10 @@ module LogProvider =
698783 ///
699784 /// **Output Type**
700785 /// * `ILog`
701- let getLoggerByType ( ``type`` : Type ) = `` type `` |> string |> getLoggerByName
786+ let getLoggerByType ( ``type`` : Type ) =
787+ `` type ``
788+ |> string
789+ |> getLoggerByName
702790
703791 /// **Description**
704792 ///
@@ -735,8 +823,9 @@ module LogProvider =
735823 ///
736824 /// **Exceptions**
737825 ///
738- let getLoggerByQuotation ( quotation : Quotations.Expr ) = getModuleType quotation |> getLoggerByType
739-
826+ let getLoggerByQuotation ( quotation : Quotations.Expr ) =
827+ getModuleType quotation
828+ |> getLoggerByType
740829
741830
742831 /// **Description**
0 commit comments