Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class Log {
- private static Dictionary<Type, ILog> _loggers = new Dictionary<Type, ILog>();
- private static bool _logInitialized = false;
- private static object _lock = new object();
- public static string SerializeException(Exception e) {
- return SerializeException(e, string.Empty);
- }
- private static string SerializeException(Exception e, string exceptionMessage) {
- if (e == null) return string.Empty;
- exceptionMessage = string.Format(
- "{0}{1}{2}n{3}",
- exceptionMessage,
- (exceptionMessage == string.Empty) ? string.Empty : "nn",
- e.Message,
- e.StackTrace);
- if (e.InnerException != null)
- exceptionMessage = SerializeException(e.InnerException, exceptionMessage);
- return exceptionMessage;
- }
- private static ILog getLogger(Type source) {
- lock (_lock) {
- if (_loggers.ContainsKey(source)) {
- return _loggers[source];
- }
- ILog logger = log4net.LogManager.GetLogger(source);
- _loggers.Add(source, logger);
- return logger;
- }
- }
- public static void Debug(object source, object message) {
- Debug(source.GetType(), message);
- }
- public static void Debug(Type source, object message) {
- getLogger(source).Debug(message);
- }
- public static void Info(object source, object message) {
- Info(source.GetType(), message);
- }
- public static void Info(Type source, object message) {
- getLogger(source).Info(message);
- }
- private static void initialize() {
- XmlConfigurator.Configure();
- }
- public static void EnsureInitialized() {
- if (!_logInitialized) {
- initialize();
- _logInitialized = true;
- }
- }
- }
- Log.Info(typeof(Program).Name, "System Start");
- LogEventInfo logEvent = new LogEventInfo(level, _logger.Name, null, "{0}", new object[] { message }, exception);
- _logger.Log(declaringType, logEvent);
- private readonly static Type declaringType = typeof(AbstractLogger);
- private readonly static Type declaringType = typeof(Log);
- _logger.Log(declaringType, level, message, exception);
- public static void Debug(object message)
- {
- MethodBase mb = GetCallingMethod();
- Type t = mb.DeclaringType;
- LogEventInfo logEvent = new LogEventInfo(LogLevel.Debug, t.Name, null, "{0}", new object [] message, null);
- ILogger logger = getLogger(t) As ILogger;
- logger.Log(declaringType, logEvent)
- }
- private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
- System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
- private static readonly NLog.logger log = NLog.LogManager.GetCurrentClassLogger();
- class MyClass
- {
- private static readonly ILog logger = LogManager.GetLogger(typeof(MyClass));
- void SomeMethod(...)
- {
- logger.Info("some message");
- ...
- if (logger.IsInfoEnabled)
- {
- logger.Info(... something that is expensive to generate ...);
- }
- }
- }
- class Stuff
- {
- private static readonly Logger logger = LogManager.GetCurrentClassLogger();
- // ...
- void DoStuff()
- {
- logger.Info("blah blah");
- }
- }
- public static void InfoWithCallerInfo(this ILog logger,
- object message, Exception e = null, [CallerMemberName] string memberName = "",
- [CallerFilePath] string sourceFilePath = "", [CallerLineNumber] int sourceLineNumber = 0)
- {
- if (!logger.IsInfoEnabled)
- return;
- if (e == null)
- logger.Info(string.Format("{0}:{1}:{2} {3}", sourceFilePath,
- memberName, sourceLineNumber, message));
- else
- logger.Info(string.Format("{0}:{1}:{2} {3}", sourceFilePath,
- memberName, sourceLineNumber, message), e);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement