123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562 |
- // <auto-generated/>
- // ReSharper disable CheckNamespace
- namespace RSTP_DSLink.Logging
- {
- using System;
- #if LIBLOG_EXCLUDE_CODE_COVERAGE
- using System.Diagnostics.CodeAnalysis;
- #endif
-
- /// <summary>
- /// Extension methods for the <see cref="ILog"/> interface.
- /// </summary>
- #if LIBLOG_EXCLUDE_CODE_COVERAGE
- [ExcludeFromCodeCoverage]
- #endif
- #if LIBLOG_PUBLIC
- public
- #else
- internal
- #endif
- static class LogExtensions
- {
- internal static readonly object[] EmptyParams = new object[0];
-
- /// <summary>
- /// Check if the <see cref="LogLevel.Debug"/> log level is enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to check with.</param>
- /// <returns>True if the log level is enabled; false otherwise.</returns>
- public static bool IsDebugEnabled(this ILog logger)
- {
- GuardAgainstNullLogger(logger);
- return logger.Log(LogLevel.Debug, null, null, EmptyParams);
- }
-
- /// <summary>
- /// Check if the <see cref="LogLevel.Error"/> log level is enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to check with.</param>
- /// <returns>True if the log level is enabled; false otherwise.</returns>
- public static bool IsErrorEnabled(this ILog logger)
- {
- GuardAgainstNullLogger(logger);
- return logger.Log(LogLevel.Error, null, null, EmptyParams);
- }
-
- /// <summary>
- /// Check if the <see cref="LogLevel.Fatal"/> log level is enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to check with.</param>
- /// <returns>True if the log level is enabled; false otherwise.</returns>
- public static bool IsFatalEnabled(this ILog logger)
- {
- GuardAgainstNullLogger(logger);
- return logger.Log(LogLevel.Fatal, null, null, EmptyParams);
- }
-
- /// <summary>
- /// Check if the <see cref="LogLevel.Info"/> log level is enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to check with.</param>
- /// <returns>True if the log level is enabled; false otherwise.</returns>
- public static bool IsInfoEnabled(this ILog logger)
- {
- GuardAgainstNullLogger(logger);
- return logger.Log(LogLevel.Info, null, null, EmptyParams);
- }
-
- /// <summary>
- /// Check if the <see cref="LogLevel.Trace"/> log level is enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to check with.</param>
- /// <returns>True if the log level is enabled; false otherwise.</returns>
- public static bool IsTraceEnabled(this ILog logger)
- {
- GuardAgainstNullLogger(logger);
- return logger.Log(LogLevel.Trace, null, null, EmptyParams);
- }
-
- /// <summary>
- /// Check if the <see cref="LogLevel.Warn"/> log level is enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to check with.</param>
- /// <returns>True if the log level is enabled; false otherwise.</returns>
- public static bool IsWarnEnabled(this ILog logger)
- {
- GuardAgainstNullLogger(logger);
- return logger.Log(LogLevel.Warn, null, null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Debug"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="messageFunc">The message function.</param>
- public static void Debug(this ILog logger, Func<string> messageFunc)
- {
- GuardAgainstNullLogger(logger);
- logger.Log(LogLevel.Debug, WrapLogInternal(messageFunc), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Debug"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- public static void Debug(this ILog logger, string message)
- {
- if (logger.IsDebugEnabled()) logger.Log(LogLevel.Debug, message.AsFunc(), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Debug"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Debug(this ILog logger, string message, params object[] args)
- {
- logger.DebugFormat(message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Debug"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Debug(this ILog logger, Exception exception, string message, params object[] args)
- {
- logger.DebugException(message, exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Debug"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void DebugFormat(this ILog logger, string message, params object[] args)
- {
- if (logger.IsDebugEnabled()) logger.LogFormat(LogLevel.Debug, message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Debug"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- public static void DebugException(this ILog logger, string message, Exception exception)
- {
- if (logger.IsDebugEnabled()) logger.Log(LogLevel.Debug, message.AsFunc(), exception, EmptyParams);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Debug"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void DebugException(this ILog logger, string message, Exception exception,
- params object[] args)
- {
- if (logger.IsDebugEnabled()) logger.Log(LogLevel.Debug, message.AsFunc(), exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Error"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="messageFunc">The message function.</param>
- public static void Error(this ILog logger, Func<string> messageFunc)
- {
- GuardAgainstNullLogger(logger);
- logger.Log(LogLevel.Error, WrapLogInternal(messageFunc), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Error"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- public static void Error(this ILog logger, string message)
- {
- if (logger.IsErrorEnabled()) logger.Log(LogLevel.Error, message.AsFunc(), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Error"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Error(this ILog logger, string message, params object[] args)
- {
- logger.ErrorFormat(message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Error"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Error(this ILog logger, Exception exception, string message, params object[] args)
- {
- logger.ErrorException(message, exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Error"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void ErrorFormat(this ILog logger, string message, params object[] args)
- {
- if (logger.IsErrorEnabled()) logger.LogFormat(LogLevel.Error, message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Error"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void ErrorException(this ILog logger, string message, Exception exception,
- params object[] args)
- {
- if (logger.IsErrorEnabled()) logger.Log(LogLevel.Error, message.AsFunc(), exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Fatal"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="messageFunc">The message function.</param>
- public static void Fatal(this ILog logger, Func<string> messageFunc)
- {
- logger.Log(LogLevel.Fatal, WrapLogInternal(messageFunc), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Fatal"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- public static void Fatal(this ILog logger, string message)
- {
- if (logger.IsFatalEnabled()) logger.Log(LogLevel.Fatal, message.AsFunc(), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Fatal"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Fatal(this ILog logger, string message, params object[] args)
- {
- logger.FatalFormat(message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Fatal"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Fatal(this ILog logger, Exception exception, string message, params object[] args)
- {
- logger.FatalException(message, exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Fatal"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void FatalFormat(this ILog logger, string message, params object[] args)
- {
- if (logger.IsFatalEnabled()) logger.LogFormat(LogLevel.Fatal, message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Fatal"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void FatalException(this ILog logger, string message, Exception exception,
- params object[] args)
- {
- if (logger.IsFatalEnabled()) logger.Log(LogLevel.Fatal, message.AsFunc(), exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Info"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="messageFunc">The message function.</param>
- public static void Info(this ILog logger, Func<string> messageFunc)
- {
- GuardAgainstNullLogger(logger);
- logger.Log(LogLevel.Info, WrapLogInternal(messageFunc), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Info"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- public static void Info(this ILog logger, string message)
- {
- if (logger.IsInfoEnabled()) logger.Log(LogLevel.Info, message.AsFunc(), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Info"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Info(this ILog logger, string message, params object[] args)
- {
- logger.InfoFormat(message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Info"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Info(this ILog logger, Exception exception, string message, params object[] args)
- {
- logger.InfoException(message, exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Info"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void InfoFormat(this ILog logger, string message, params object[] args)
- {
- if (logger.IsInfoEnabled()) logger.LogFormat(LogLevel.Info, message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Info"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void InfoException(this ILog logger, string message, Exception exception,
- params object[] args)
- {
- if (logger.IsInfoEnabled()) logger.Log(LogLevel.Info, message.AsFunc(), exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Trace"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="messageFunc">The message function.</param>
- public static void Trace(this ILog logger, Func<string> messageFunc)
- {
- GuardAgainstNullLogger(logger);
- logger.Log(LogLevel.Trace, WrapLogInternal(messageFunc), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Trace"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- public static void Trace(this ILog logger, string message)
- {
- if (logger.IsTraceEnabled()) logger.Log(LogLevel.Trace, message.AsFunc(), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Trace"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Trace(this ILog logger, string message, params object[] args)
- {
- logger.TraceFormat(message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Trace"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Trace(this ILog logger, Exception exception, string message, params object[] args)
- {
- logger.TraceException(message, exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Trace"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void TraceFormat(this ILog logger, string message, params object[] args)
- {
- if (logger.IsTraceEnabled()) logger.LogFormat(LogLevel.Trace, message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Trace"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void TraceException(this ILog logger, string message, Exception exception,
- params object[] args)
- {
- if (logger.IsTraceEnabled()) logger.Log(LogLevel.Trace, message.AsFunc(), exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Warn"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="messageFunc">The message function.</param>
- public static void Warn(this ILog logger, Func<string> messageFunc)
- {
- GuardAgainstNullLogger(logger);
- logger.Log(LogLevel.Warn, WrapLogInternal(messageFunc), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Warn"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- public static void Warn(this ILog logger, string message)
- {
- if (logger.IsWarnEnabled()) logger.Log(LogLevel.Warn, message.AsFunc(), null, EmptyParams);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Warn"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Warn(this ILog logger, string message, params object[] args)
- {
- logger.WarnFormat(message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Warn"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void Warn(this ILog logger, Exception exception, string message, params object[] args)
- {
- logger.WarnException(message, exception, args);
- }
-
- /// <summary>
- /// Logs a message at the <see cref="LogLevel.Warn"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void WarnFormat(this ILog logger, string message, params object[] args)
- {
- if (logger.IsWarnEnabled()) logger.LogFormat(LogLevel.Warn, message, args);
- }
-
- /// <summary>
- /// Logs an exception at the <see cref="LogLevel.Warn"/> log level, if enabled.
- /// </summary>
- /// <param name="logger">The <see cref="ILog"/> to use.</param>
- /// <param name="message">The message.</param>
- /// <param name="exception">The exception.</param>
- /// <param name="args">Optional format parameters for the message.</param>
- public static void WarnException(this ILog logger, string message, Exception exception,
- params object[] args)
- {
- if (logger.IsWarnEnabled()) logger.Log(LogLevel.Warn, message.AsFunc(), exception, args);
- }
-
- // ReSharper disable once UnusedParameter.Local
- private static void GuardAgainstNullLogger(ILog logger)
- {
- if (logger == null) throw new ArgumentNullException("logger");
- }
-
- private static void LogFormat(this ILog logger, LogLevel logLevel, string message, params object[] args)
- {
- logger.Log(logLevel, message.AsFunc(), null, args);
- }
-
- // Avoid the closure allocation, see https://gist.github.com/AArnott/d285feef75c18f6ecd2b
- private static Func<T> AsFunc<T>(this T value) where T : class
- {
- return value.Return;
- }
-
- private static T Return<T>(this T value)
- {
- return value;
- }
-
- // Allow passing callsite-logger-type to LogProviderBase using messageFunc
- internal static Func<string> WrapLogSafeInternal(LoggerExecutionWrapper logger, Func<string> messageFunc)
- {
- var WrappedMessageFunc = new Func<string>(() => {
- try
- {
- return messageFunc();
- }
- catch (Exception ex)
- {
- logger.WrappedLogger(LogLevel.Error, () => LoggerExecutionWrapper.FailedToGenerateLogMessage, ex,
- EmptyParams);
- }
-
- return null;
- });
-
- return WrappedMessageFunc;
- }
-
- // Allow passing callsite-logger-type to LogProviderBase using messageFunc
- private static Func<string> WrapLogInternal(Func<string> messageFunc)
- {
- var WrappedMessageFunc = new Func<string>(() =>
- {
- return messageFunc();
- });
-
- return WrappedMessageFunc;
- }
- }
- }
|