X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FLogger%2FLogger.fs;h=cc023141fc895f21318962af8476ae34a867b65e;hp=552e37dd1e5859590a6826a6b82bbed3caaf50f5;hb=9343c4deb0bf88c58d9c92d465d8e99f64656875;hpb=4bfa3cbdc6145e6944f02e24829ab2ef3a851ac1 diff --git a/Parasitemia/Logger/Logger.fs b/Parasitemia/Logger/Logger.fs index 552e37d..cc02314 100644 --- a/Parasitemia/Logger/Logger.fs +++ b/Parasitemia/Logger/Logger.fs @@ -44,7 +44,7 @@ type Log () = let setLogDirectory (dir: string) = lock monitor (fun () -> logDir <- dir - absoluteDir <- Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), logDir) + absoluteDir <- Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), logDir) if stream <> null then @@ -139,12 +139,14 @@ type Log () = static member AddListener (listener: IListener) = instance.AddListener(listener) static member RmListener (listener: IListener) = instance.RmListener(listener) - static member LogWithTime (message: string, severity: Severity, f: unit -> 'a, [] args: Object[]) : 'a = + static member LogWithTime (message: string, severity: Severity, f: unit -> 'a option, [] args: Object[]) : 'a option = let sw = Stopwatch() sw.Start() let res = f () sw.Stop() - instance.Write(String.Format(message, args) + sprintf " (time: %d ms)" sw.ElapsedMilliseconds, severity) + if res.IsSome + then + instance.Write(String.Format(message, args) + sprintf " (time: %d ms)" sw.ElapsedMilliseconds, severity) res static member Debug (message: string, [] args: Object[]) =