Skip to content

Instantly share code, notes, and snippets.

Created April 10, 2013 09:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/783045423b1c26011ac3 to your computer and use it in GitHub Desktop.
Save anonymous/783045423b1c26011ac3 to your computer and use it in GitHub Desktop.
Index: src/Core/LogImpl.cs
===================================================================
--- src/Core/LogImpl.cs (revision 1466376)
+++ src/Core/LogImpl.cs (working copy)
@@ -170,6 +170,15 @@
Logger.Log(ThisDeclaringType, m_levelDebug, message, null);
}
+ virtual public void Debug(LogMessageCallback messageCallback)
+ {
+ if (IsDebugEnabled)
+ {
+ Logger.Log(ThisDeclaringType, m_levelDebug, messageCallback(), null);
+ }
+ }
+
+
/// <summary>
/// Logs a message object with the <c>DEBUG</c> level
/// </summary>
@@ -367,6 +376,14 @@
{
Logger.Log(ThisDeclaringType, m_levelInfo, message, null);
}
+
+ virtual public void Info(LogMessageCallback messageCallback)
+ {
+ if (IsInfoEnabled)
+ {
+ Logger.Log(ThisDeclaringType, m_levelInfo, messageCallback(), null);
+ }
+ }
/// <summary>
/// Logs a message object with the <c>INFO</c> level.
@@ -565,6 +582,14 @@
{
Logger.Log(ThisDeclaringType, m_levelWarn, message, null);
}
+
+ virtual public void Warn(LogMessageCallback messageCallback)
+ {
+ if (IsWarnEnabled)
+ {
+ Logger.Log(ThisDeclaringType, m_levelWarn, messageCallback(), null);
+ }
+ }
/// <summary>
/// Logs a message object with the <c>WARN</c> level
@@ -764,6 +789,14 @@
Logger.Log(ThisDeclaringType, m_levelError, message, null);
}
+ virtual public void Error(LogMessageCallback messageCallback)
+ {
+ if (IsErrorEnabled)
+ {
+ Logger.Log(ThisDeclaringType, m_levelError, messageCallback(), null);
+ }
+ }
+
/// <summary>
/// Logs a message object with the <c>ERROR</c> level
/// </summary>
@@ -961,6 +994,14 @@
{
Logger.Log(ThisDeclaringType, m_levelFatal, message, null);
}
+
+ virtual public void Fatal(LogMessageCallback messageCallback)
+ {
+ if (IsFatalEnabled)
+ {
+ Logger.Log(ThisDeclaringType, m_levelFatal, messageCallback(), null);
+ }
+ }
/// <summary>
/// Logs a message object with the <c>FATAL</c> level
Index: src/ILog.cs
===================================================================
--- src/ILog.cs (revision 1466376)
+++ src/ILog.cs (working copy)
@@ -91,6 +91,8 @@
/// <seealso cref="M:Debug(object,Exception)"/>
/// <seealso cref="IsDebugEnabled"/>
void Debug(object message);
+
+ void Debug(LogMessageCallback messageCallback);
/// <summary>
/// Log a message object with the <see cref="Level.Debug"/> level including
@@ -244,7 +246,9 @@
/// <seealso cref="M:Info(object,Exception)"/>
/// <seealso cref="IsInfoEnabled"/>
void Info(object message);
-
+
+ void Info(LogMessageCallback messageCallback);
+
/// <summary>
/// Logs a message object with the <c>INFO</c> level including
/// the stack trace of the <see cref="Exception"/> passed
@@ -397,7 +401,9 @@
/// <seealso cref="M:Warn(object,Exception)"/>
/// <seealso cref="IsWarnEnabled"/>
void Warn(object message);
-
+
+ void Warn(LogMessageCallback messageCallback);
+
/// <summary>
/// Log a message object with the <see cref="Level.Warn"/> level including
/// the stack trace of the <see cref="Exception"/> passed
@@ -551,6 +557,8 @@
/// <seealso cref="IsErrorEnabled"/>
void Error(object message);
+ void Error(LogMessageCallback messageCallback);
+
/// <summary>
/// Log a message object with the <see cref="Level.Error"/> level including
/// the stack trace of the <see cref="Exception"/> passed
@@ -703,7 +711,9 @@
/// <seealso cref="M:Fatal(object,Exception)"/>
/// <seealso cref="IsFatalEnabled"/>
void Fatal(object message);
-
+
+ void Fatal(LogMessageCallback messageCallback);
+
/// <summary>
/// Log a message object with the <see cref="Level.Fatal"/> level including
/// the stack trace of the <see cref="Exception"/> passed
@@ -957,4 +967,6 @@
/// <seealso cref="ILog.IsDebugEnabled"/>
bool IsFatalEnabled { get; }
}
+
+ public delegate string LogMessageCallback();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment