summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Core/Loggers/Log4NetLogger.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DotNetOpenAuth.Core/Loggers/Log4NetLogger.cs')
-rw-r--r--src/DotNetOpenAuth.Core/Loggers/Log4NetLogger.cs215
1 files changed, 215 insertions, 0 deletions
diff --git a/src/DotNetOpenAuth.Core/Loggers/Log4NetLogger.cs b/src/DotNetOpenAuth.Core/Loggers/Log4NetLogger.cs
new file mode 100644
index 0000000..dd71a05
--- /dev/null
+++ b/src/DotNetOpenAuth.Core/Loggers/Log4NetLogger.cs
@@ -0,0 +1,215 @@
+// <auto-generated />
+
+namespace DotNetOpenAuth.Loggers {
+ using System;
+ using System.Globalization;
+ using System.IO;
+ using System.Reflection;
+
+ internal class Log4NetLogger : ILog {
+ private log4net.ILog log4netLogger;
+
+ private Log4NetLogger(log4net.ILog logger) {
+ this.log4netLogger = logger;
+ }
+
+ #region ILog Members
+
+ public bool IsDebugEnabled {
+ get { return this.log4netLogger.IsDebugEnabled; }
+ }
+
+ public bool IsInfoEnabled {
+ get { return this.log4netLogger.IsInfoEnabled; }
+ }
+
+ public bool IsWarnEnabled {
+ get { return this.log4netLogger.IsWarnEnabled; }
+ }
+
+ public bool IsErrorEnabled {
+ get { return this.log4netLogger.IsErrorEnabled; }
+ }
+
+ public bool IsFatalEnabled {
+ get { return this.log4netLogger.IsFatalEnabled; }
+ }
+
+ #endregion
+
+ private static bool IsLog4NetPresent {
+ get {
+ try {
+ Assembly.Load("log4net");
+ return true;
+ } catch (FileNotFoundException) {
+ return false;
+ }
+ }
+ }
+
+ #region ILog methods
+
+ public void Debug(object message) {
+ this.log4netLogger.Debug(message);
+ }
+
+ public void Debug(object message, Exception exception) {
+ this.log4netLogger.Debug(message, exception);
+ }
+
+ public void DebugFormat(string format, params object[] args) {
+ this.log4netLogger.DebugFormat(CultureInfo.InvariantCulture, format, args);
+ }
+
+ public void DebugFormat(string format, object arg0) {
+ this.log4netLogger.DebugFormat(format, arg0);
+ }
+
+ public void DebugFormat(string format, object arg0, object arg1) {
+ this.log4netLogger.DebugFormat(format, arg0, arg1);
+ }
+
+ public void DebugFormat(string format, object arg0, object arg1, object arg2) {
+ this.log4netLogger.DebugFormat(format, arg0, arg1, arg2);
+ }
+
+ public void DebugFormat(IFormatProvider provider, string format, params object[] args) {
+ this.log4netLogger.DebugFormat(provider, format, args);
+ }
+
+ public void Info(object message) {
+ this.log4netLogger.Info(message);
+ }
+
+ public void Info(object message, Exception exception) {
+ this.log4netLogger.Info(message, exception);
+ }
+
+ public void InfoFormat(string format, params object[] args) {
+ this.log4netLogger.InfoFormat(CultureInfo.InvariantCulture, format, args);
+ }
+
+ public void InfoFormat(string format, object arg0) {
+ this.log4netLogger.InfoFormat(format, arg0);
+ }
+
+ public void InfoFormat(string format, object arg0, object arg1) {
+ this.log4netLogger.InfoFormat(format, arg0, arg1);
+ }
+
+ public void InfoFormat(string format, object arg0, object arg1, object arg2) {
+ this.log4netLogger.InfoFormat(format, arg0, arg1, arg2);
+ }
+
+ public void InfoFormat(IFormatProvider provider, string format, params object[] args) {
+ this.log4netLogger.InfoFormat(provider, format, args);
+ }
+
+ public void Warn(object message) {
+ this.log4netLogger.Warn(message);
+ }
+
+ public void Warn(object message, Exception exception) {
+ this.log4netLogger.Warn(message, exception);
+ }
+
+ public void WarnFormat(string format, params object[] args) {
+ this.log4netLogger.WarnFormat(CultureInfo.InvariantCulture, format, args);
+ }
+
+ public void WarnFormat(string format, object arg0) {
+ this.log4netLogger.WarnFormat(format, arg0);
+ }
+
+ public void WarnFormat(string format, object arg0, object arg1) {
+ this.log4netLogger.WarnFormat(format, arg0, arg1);
+ }
+
+ public void WarnFormat(string format, object arg0, object arg1, object arg2) {
+ this.log4netLogger.WarnFormat(format, arg0, arg1, arg2);
+ }
+
+ public void WarnFormat(IFormatProvider provider, string format, params object[] args) {
+ this.log4netLogger.WarnFormat(provider, format, args);
+ }
+
+ public void Error(object message) {
+ this.log4netLogger.Error(message);
+ }
+
+ public void Error(object message, Exception exception) {
+ this.log4netLogger.Error(message, exception);
+ }
+
+ public void ErrorFormat(string format, params object[] args) {
+ this.log4netLogger.ErrorFormat(CultureInfo.InvariantCulture, format, args);
+ }
+
+ public void ErrorFormat(string format, object arg0) {
+ this.log4netLogger.ErrorFormat(format, arg0);
+ }
+
+ public void ErrorFormat(string format, object arg0, object arg1) {
+ this.log4netLogger.ErrorFormat(format, arg0, arg1);
+ }
+
+ public void ErrorFormat(string format, object arg0, object arg1, object arg2) {
+ this.log4netLogger.ErrorFormat(format, arg0, arg1, arg2);
+ }
+
+ public void ErrorFormat(IFormatProvider provider, string format, params object[] args) {
+ this.log4netLogger.ErrorFormat(provider, format, args);
+ }
+
+ public void Fatal(object message) {
+ this.log4netLogger.Fatal(message);
+ }
+
+ public void Fatal(object message, Exception exception) {
+ this.log4netLogger.Fatal(message, exception);
+ }
+
+ public void FatalFormat(string format, params object[] args) {
+ this.log4netLogger.FatalFormat(CultureInfo.InvariantCulture, format, args);
+ }
+
+ public void FatalFormat(string format, object arg0) {
+ this.log4netLogger.FatalFormat(format, arg0);
+ }
+
+ public void FatalFormat(string format, object arg0, object arg1) {
+ this.log4netLogger.FatalFormat(format, arg0, arg1);
+ }
+
+ public void FatalFormat(string format, object arg0, object arg1, object arg2) {
+ this.log4netLogger.FatalFormat(format, arg0, arg1, arg2);
+ }
+
+ public void FatalFormat(IFormatProvider provider, string format, params object[] args) {
+ this.log4netLogger.FatalFormat(provider, format, args);
+ }
+
+ #endregion
+
+ /// <summary>
+ /// Returns a new log4net logger if it exists, or returns null if the assembly cannot be found.
+ /// </summary>
+ /// <returns>The created <see cref="ILog"/> instance.</returns>
+ internal static ILog Initialize(string name) {
+ try {
+ return IsLog4NetPresent ? CreateLogger(name) : null;
+ } catch (FileLoadException) { // wrong log4net.dll version
+ return null;
+ }
+ }
+
+ /// <summary>
+ /// Creates the log4net.LogManager. Call ONLY after log4net.dll is known to be present.
+ /// </summary>
+ /// <returns>The created <see cref="ILog"/> instance.</returns>
+ private static ILog CreateLogger(string name) {
+ return new Log4NetLogger(log4net.LogManager.GetLogger(name));
+ }
+ }
+}