Update coding style.
[master-thesis.git] / Parasitemia / Logger / Logger.fs
index df2144f..4fc1736 100644 (file)
@@ -33,9 +33,9 @@ type Log () =
         if isNull path then
             None
         else
         if isNull path then
             None
         else
-            let filename = path.Substring(path.LastIndexOf(Path.DirectorySeparatorChar) + 1)
-            let filenameWithoutExtension = filename.Remove(filename.IndexOf('.'))
-            match Int32.TryParse(filenameWithoutExtension) with
+            let filename = path.Substring (path.LastIndexOf Path.DirectorySeparatorChar + 1)
+            let filenameWithoutExtension = filename.Remove (filename.IndexOf '.')
+            match Int32.TryParse filenameWithoutExtension with
             | (true, n) -> Some n
             | _ -> None
 
             | (true, n) -> Some n
             | _ -> None
 
@@ -44,13 +44,13 @@ type Log () =
     let [<Literal>] COMPRESS_ARCHIVED_FILES = true
     let [<Literal>] FILENAME_FORMAT = "{0:D4}.log"
     let [<Literal>] COMPRESSED_FILE_POSTFIX = ".gzip"
     let [<Literal>] COMPRESS_ARCHIVED_FILES = true
     let [<Literal>] FILENAME_FORMAT = "{0:D4}.log"
     let [<Literal>] COMPRESSED_FILE_POSTFIX = ".gzip"
-    let encoding = Encoding.GetEncoding("UTF-8")
+    let encoding = Encoding.GetEncoding "UTF-8"
 
     let compress (filename : string) =
 
     let compress (filename : string) =
-        use inputStream = new FileStream(filename, FileMode.Open, FileAccess.Read)
+        use inputStream = new FileStream (filename, FileMode.Open, FileAccess.Read)
         let filenameCompressed = filename + COMPRESSED_FILE_POSTFIX
         let filenameCompressed = filename + COMPRESSED_FILE_POSTFIX
-        use compressedStream = new GZipStream(new FileStream(filenameCompressed, FileMode.Create, FileAccess.Write), CompressionLevel.Optimal)
-        inputStream.CopyTo(compressedStream)
+        use compressedStream = new GZipStream (new FileStream (filenameCompressed, FileMode.Create, FileAccess.Write), CompressionLevel.Optimal)
+        inputStream.CopyTo compressedStream
 
     let moduleName = System.Diagnostics.StackFrame(1).GetMethod().Module.Name
 
 
     let moduleName = System.Diagnostics.StackFrame(1).GetMethod().Module.Name
 
@@ -59,9 +59,9 @@ type Log () =
 
     let mutable logDir : string = null
 
 
     let mutable logDir : string = null
 
-    let monitor = Object()
+    let monitor = Object ()
 
 
-    let listeners = List<IListener>()
+    let listeners = List<IListener> ()
 
     let debug =
 #if DEBUG
 
     let debug =
 #if DEBUG
@@ -70,7 +70,7 @@ type Log () =
         false
 #endif
 
         false
 #endif
 
-    static let instance = new Log()
+    static let instance = new Log ()
 
     let openLogFile (entryNumber : int64) =
         if not (isNull logDir) then
 
     let openLogFile (entryNumber : int64) =
         if not (isNull logDir) then
@@ -79,40 +79,40 @@ type Log () =
                 then
                     if not (isNull stream)
                     then
                 then
                     if not (isNull stream)
                     then
-                        stream.Close()
+                        stream.Close ()
                         if COMPRESS_ARCHIVED_FILES then
                             compress filename
                         if COMPRESS_ARCHIVED_FILES then
                             compress filename
-                            File.Delete(filename)
+                            File.Delete filename
 
                     // Search the last id among the log files.
                     let mutable n = 1
 
                     // Search the last id among the log files.
                     let mutable n = 1
-                    for existingFile in Directory.GetFiles(logDir) do
+                    for existingFile in Directory.GetFiles logDir do
                         match extractNumberFromLogfilepath existingFile with
                         | Some n' when n' > n -> n <- n'
                         | _ -> ()
 
                         match extractNumberFromLogfilepath existingFile with
                         | Some n' when n' > n -> n <- n'
                         | _ -> ()
 
-                    filename <- Path.Combine(logDir, String.Format(FILENAME_FORMAT, n))
+                    filename <- Path.Combine (logDir, String.Format (FILENAME_FORMAT, n))
                     try
                     try
-                        if File.Exists(filename + COMPRESSED_FILE_POSTFIX) || FileInfo(filename).Length > MAX_SIZE_FILE
+                        if File.Exists (filename + COMPRESSED_FILE_POSTFIX) || FileInfo(filename).Length > MAX_SIZE_FILE
                         then
                         then
-                            filename <- Path.Combine(logDir, String.Format(FILENAME_FORMAT, n + 1))
+                            filename <- Path.Combine (logDir, String.Format (FILENAME_FORMAT, n + 1))
                     with
                     | :? FileNotFoundException -> () // The file may not exist.
 
                     with
                     | :? FileNotFoundException -> () // The file may not exist.
 
-                    stream <- new StreamWriter(filename, true, encoding)
+                    stream <- new StreamWriter (filename, true, encoding)
             with
             with
-            | ex -> Console.Error.WriteLine("Can't open the file log: {0}", ex)
+            | ex -> Console.Error.WriteLine ("Can't open the file log: {0}", ex)
 
     let write (msg : Message) (entryNumber : int64) =
         openLogFile entryNumber
 
         let header =
 
     let write (msg : Message) (entryNumber : int64) =
         openLogFile entryNumber
 
         let header =
-            String.Format(
+            String.Format (
                 "{0:yyyy-MM-dd HH:mm:ss.fff} [{1}] {{{2}}} ({3})",
                 "{0:yyyy-MM-dd HH:mm:ss.fff} [{1}] {{{2}}} ({3})",
-                TimeZone.CurrentTimeZone.ToLocalTime(DateTime.UtcNow),
+                TimeZone.CurrentTimeZone.ToLocalTime DateTime.UtcNow,
                 string msg.Severity,
                 msg.ModuleCaller,
                 string msg.Severity,
                 msg.ModuleCaller,
-                (if String.IsNullOrEmpty(msg.ThreadName) then string msg.ThreadId else sprintf "%s-%i" msg.ThreadName msg.ThreadId)
+                (if String.IsNullOrEmpty msg.ThreadName then string msg.ThreadId else sprintf "%s-%i" msg.ThreadName msg.ThreadId)
             )
 
         for listener in listeners do
             )
 
         for listener in listeners do
@@ -121,17 +121,17 @@ type Log () =
         if not (isNull stream)
         then
             try
         if not (isNull stream)
         then
             try
-                stream.WriteLine("{0} : {1}", header, msg.Message)
-                stream.Flush()
+                stream.WriteLine ("{0} : {1}", header, msg.Message)
+                stream.Flush ()
             with
             with
-            | :? IOException as ex -> Console.Error.WriteLine("Unable to write to the log file: {0}", ex)
+            | :? IOException as ex -> Console.Error.WriteLine ("Unable to write to the log file: {0}", ex)
 
     let writeAgent =
 
     let writeAgent =
-        new MailboxProcessor<Command>(
+        new MailboxProcessor<Command> (
             fun inbox ->
                 let rec loop (nbEntries : int64) =
                     async {
             fun inbox ->
                 let rec loop (nbEntries : int64) =
                     async {
-                        let! command = inbox.Receive()
+                        let! command = inbox.Receive ()
                         match command with
                         | Write message ->
                             write message nbEntries
                         match command with
                         | Write message ->
                             write message nbEntries
@@ -143,29 +143,31 @@ type Log () =
         )
 
     do
         )
 
     do
-        writeAgent.Start()
+        writeAgent.Start ()
 
     let setLogDirectory (dir : string) =
 
     let setLogDirectory (dir : string) =
-        lock monitor (fun () ->
-            logDir <- dir
+        lock monitor (
+            fun () ->
+                logDir <- dir
 
 
-            if not <| isNull stream then
-                stream.Close()
-                stream <- null
+                if not <| isNull stream then
+                    stream.Close ()
+                    stream <- null
 
 
-            try
-                if not <| Directory.Exists(logDir)
-                then
-                    Directory.CreateDirectory(logDir) |> ignore
-            with
-            | _ -> Console.Error.WriteLine("Unable to create the log directory: {0}", logDir))
+                try
+                    if not <| Directory.Exists logDir
+                    then
+                        Directory.CreateDirectory logDir |> ignore
+                with
+                | _ -> Console.Error.WriteLine ("Unable to create the log directory: {0}", logDir)
+       )
 
     interface IDisposable with
         member this.Dispose () =
             if not (isNull stream)
             then
 
     interface IDisposable with
         member this.Dispose () =
             if not (isNull stream)
             then
-                stream.Dispose()
-            (writeAgent :> IDisposable).Dispose()
+                stream.Dispose ()
+            (writeAgent :> IDisposable).Dispose ()
 
     member private this.Write (message : string) (severity : Severity) =
         let moduleNameCaller =
 
     member private this.Write (message : string) (severity : Severity) =
         let moduleNameCaller =
@@ -190,7 +192,7 @@ type Log () =
     /// Will stop and wait a reply. Used to flush the remaining messages.
     /// </summary>
     member private this.Stop () =
     /// Will stop and wait a reply. Used to flush the remaining messages.
     /// </summary>
     member private this.Stop () =
-        writeAgent.PostAndReply(
+        writeAgent.PostAndReply (
             fun replyChannel ->
                 Stop replyChannel
         )
             fun replyChannel ->
                 Stop replyChannel
         )
@@ -203,23 +205,24 @@ type Log () =
         instance.LogDirectory <- dir
 
     member this.AddListener (listener : IListener) =
         instance.LogDirectory <- dir
 
     member this.AddListener (listener : IListener) =
-        lock monitor (fun () ->
-            if not <| listeners.Contains(listener)
-            then
-                listeners.Add(listener))
+        lock monitor (
+            fun () ->
+                if not <| listeners.Contains listener
+                then
+                    listeners.Add listener
+        )
 
     member this.RmListener (listener : IListener) =
 
     member this.RmListener (listener : IListener) =
-        lock monitor (fun () ->
-            listeners.Remove(listener) |> ignore)
+        lock monitor (fun () -> listeners.Remove listener |> ignore)
 
 
-    static member AddListener (listener : IListener) = instance.AddListener(listener)
-    static member RmListener (listener : IListener) = instance.RmListener(listener)
+    static member AddListener (listener : IListener) = instance.AddListener listener
+    static member RmListener (listener : IListener) = instance.RmListener listener
 
     static member LogWithTime (severity : Severity) (f : unit -> 'a) (format : Printf.StringFormat<'b, 'a>) : 'b =
 
     static member LogWithTime (severity : Severity) (f : unit -> 'a) (format : Printf.StringFormat<'b, 'a>) : 'b =
-        let sw = Stopwatch()
-        sw.Start()
+        let sw = Stopwatch ()
+        sw.Start ()
         let res = f ()
         let res = f ()
-        sw.Stop()
+        sw.Stop ()
         Printf.kprintf (fun s -> instance.Write (s + sprintf " (time: %d ms)" sw.ElapsedMilliseconds) severity; res) format
 
     static member Debug format =
         Printf.kprintf (fun s -> instance.Write (s + sprintf " (time: %d ms)" sw.ElapsedMilliseconds) severity; res) format
 
     static member Debug format =
@@ -242,4 +245,4 @@ type Log () =
         Printf.kprintf (fun s -> instance.Write s Severity.FATAL) format
 
     static member Shutdown () =
         Printf.kprintf (fun s -> instance.Write s Severity.FATAL) format
 
     static member Shutdown () =
-        instance.Stop()
+        instance.Stop ()