예제 #1
0
        public Task LogInformation(string message, string data = null, [CallerMemberName] string caller = "", [CallerLineNumber] int line = 0)
        {
            var entity = new Log_Master()
            {
                DateTime               = DateTime.Now,
                LevelID                = (int)LogLevel.Information,
                CallerMemberName       = caller,
                CallerMemberLineNumber = line,
                Message                = message,
                FullData               = data
            };

            if (_configuration.UseDailyLogFile)
            {
                using (var ctx = new ContextFile(_configuration.File_FolderPath))
                    ctx.Log(entity);
            }

            if (_configuration.UseSQLite)
            {
                using (var ctx = new ContextSQLite(_configuration.SQLite_FullPath))
                {
                    ctx.Logger_Masters.Add(entity);
                    ctx.SaveEntitiesAsync();
                }
            }

            if (_configuration.UseSQL)
            {
                using (var ctx = new ContextSQL(_configuration.SQL_ConnectionString))
                {
                    entity.ID = 0;
                    ctx.Logger_Masters.Add(entity);
                    ctx.SaveEntitiesAsync();
                }
            }

            return(Task.CompletedTask);
        }