コード例 #1
0
        public static void ConfigureLogging(
            this DbContext db,
            Action <string> logger,
            LoggingCategories categories = LoggingCategories.All)
        {
            var serviceProvider = db.GetInfrastructure <IServiceProvider>();
            var loggerFactory   = (LoggerFactory)serviceProvider.GetService(typeof(ILoggerFactory));

            if (categories == LoggingCategories.SQL)
            {
                var SqlCategories = new List <string>
                {
                    DbLoggerCategory.Database.Command.Name,
                    DbLoggerCategory.Query.Name,
                    DbLoggerCategory.Update.Name
                };

                LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(),
                                                             loggerFactory,
                                                             logger,
                                                             (c, l) => SqlCategories.Contains(c));
            }
            else if (categories == LoggingCategories.All)
            {
                LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(),
                                                             loggerFactory, logger,
                                                             (c, l) => true);
            }
        }
コード例 #2
0
 public static void ConfigureLogging(this ILoggerFactory loggerFactory, Action <String> logger,
                                     LoggingCategories categories = LoggingCategories.All)
 {
     if (categories == LoggingCategories.SQL)
     {
         var SqlCategories = new List <string> {
             DbLoggerCategory.Database.Command.Name,
             DbLoggerCategory.Query.Name,
             DbLoggerCategory.Update.Name
         };
         LogProvider.CreateOrModifyLoggerForDbContext(loggerFactory,
                                                      logger,
                                                      (c, l) => SqlCategories.Contains(c) && (l == LogLevel.Information));
     }
     else if (categories == LoggingCategories.All)
     {
         LogProvider.CreateOrModifyLoggerForDbContext(loggerFactory, logger,
                                                      (c, l) => true);
     }
 }
コード例 #3
0
 /// <summary>
 /// Writes a diagnostic message into the trace log, with specified Microsoft.SharePoint.Administration.TraceSeverity.
 /// Don't use in sandbox.
 /// </summary>
 /// <param name="message">The message to write into the log.</param>
 /// <param name="eventId">The eventId that corresponds to the event.</param>
 /// <param name="severity">The severity of the trace.</param>
 /// <param name="category">The category to write the message to.</param>
 public static void TraceEvent(string message, int eventId, TraceSeverity severity, LoggingCategories category)
 {
     NamedTraceLogger.Logger.TraceToDeveloper(message, eventId, severity, string.Format("{0}/{1}", LoggingArea, category));
 }
コード例 #4
0
        public static void ConfigureLogging(this DbContext db, Action <string> logger, LoggingCategories categories = LoggingCategories.All)
        {
            var loggerFactory = (LoggerFactory)db.GetInfrastructure().GetService(typeof(ILoggerFactory));

            switch (categories)
            {
            case LoggingCategories.Sql: {
                var sqlCategories = new List <string> {
                    DbLoggerCategory.Database.Command.Name,
                    DbLoggerCategory.Query.Name,
                    DbLoggerCategory.Update.Name
                };
                LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(), loggerFactory, logger, (c, l) => sqlCategories.Contains(c));
                break;
            }

            case LoggingCategories.All: {
                LogProvider.CreateOrModifyLoggerForDbContext(db.GetType(), loggerFactory, logger, (c, l) => true);
                break;
            }
            }
        }
コード例 #5
0
 /// <summary>
 /// Writes a diagnostic message into the trace log, with specified Microsoft.SharePoint.Administration.TraceSeverity.
 /// Don't use in sandbox.
 /// </summary>
 /// <param name="message">The message to write into the log.</param>
 /// <param name="eventId">The eventId that corresponds to the event.</param>
 /// <param name="severity">The severity of the trace.</param>
 /// <param name="category">The category to write the message to.</param>
 public static void TraceEvent(string message, int eventId, TraceSeverity severity, LoggingCategories category)
 {
     if (severity <= TraceSeverity.Monitorable)
     {
         if (SPContext.Current != null)
         {
             Linq.ActivityLogCT.WriteEntry(String.Format("{0}:{1}", category, severity), message);
         }
         else
         {
             NamedTraceLogger.Logger.TraceToDeveloper("Cannot write to ActivityLog because the SPContext.Current == null", eventId, severity, string.Format("{0}/{1}", LoggingArea, category));
         }
     }
     NamedTraceLogger.Logger.TraceToDeveloper(message, eventId, severity, string.Format("{0}/{1}", LoggingArea, category));
 }
コード例 #6
0
        public static void LogMessage(LoggingCategories Category, string errorMessage)
        {
            SPDiagnosticsCategory category = LoggingService.Current.Areas[FDAESDiagnosticAreaName].Categories[Category.ToString()];

            LoggingService.Current.WriteTrace(0, category, TraceSeverity.Medium, errorMessage);
        }
コード例 #7
0
        public static void LogError(LoggingCategories Category, string errorMessage, Exception ex)
        {
            SPDiagnosticsCategory category = LoggingService.Current.Areas[FDAESDiagnosticAreaName].Categories[Category.ToString()];

            LoggingService.Current.WriteTrace(0, category, TraceSeverity.Unexpected, string.Format("Message:{0} | Exception{1}", errorMessage, ex.ToString()));
        }
コード例 #8
0
        public static void ConfigureLogging(this DbContext db, Action <string> logger, LoggingCategories categories = LoggingCategories.All)
        {
            Func <string, LogLevel, bool> filter
                = categories == LoggingCategories.SQL ? (c, l) => sqlCategories.Contains(c)
                : categories == LoggingCategories.All ? (Func <string, LogLevel, bool>)((_, __) => true)
                : throw new ArgumentException("bad logging category", nameof(categories));

            db.ConfigureLogging(logger, filter);
        }