public async Task <bool> Log(ILogEntry entry) { Func <bool> task = null; switch (Enum.Parse(typeof(LogType), entry.Type)) { case LogType.Default: task = () => { seriLogger.Information("Title : {Title} Body: {Body}", entry.Title, entry.SerializeToJson()); return(true); }; break; case LogType.Debug: task = () => { seriLogger.Debug("Title : {Title} Body: {Body}", entry.Title, entry.SerializeToJson()); return(true); }; break; case LogType.Error: task = () => { seriLogger.Error("Title : {Title} Body: {Body}", entry.Title, entry.SerializeToJson()); return(true); }; break; case LogType.Fatal: task = () => { seriLogger.Fatal("Title : {Title} Body: {Body}", entry.Title, entry.SerializeToJson()); return(true); }; break; case LogType.Information: task = () => { seriLogger.Information("Title : {Title} Body: {Body}", entry.Title, entry.SerializeToJson()); return(true); }; break; default: task = () => { seriLogger.Information("Title : {Title} Body: {Body}", entry.Title, entry.SerializeToJson()); return(true); }; break; } return(await Task.Factory.StartNew(task)); }