asp.net 的log4net的helper类
Posted wx6070687864c6e
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 的log4net的helper类相关的知识,希望对你有一定的参考价值。
using log4net;
using System;
using System.Diagnostics;
namespace MxWeiXinPF.Common.log
public static class LogHelper
// private static LogMessage message = null;
#region error 错误、异常时候记录日志
/// <summary>
/// 错误、异常时候记录日志
/// </summary>
/// <param name="message"></param>
public static void Error(object message)
LogManager.GetLogger(GetCurrentMethodFullName()).Error(message);
/// <summary>
/// 错误、异常 记录日志
/// </summary>
/// <param name="message"></param>
/// <param name="exception"></param>
public static void Error(object message, Exception exception)
LogManager.GetLogger(GetCurrentMethodFullName()).Error(message, exception);
/// <summary>
/// 错误、异常 记录日志
/// </summary>
/// <param name="message">记录内容</param>
/// <param name="userid">userid</param>
/// <param name="platName">平台</param>
/// <param name="module">模块</param>
/// <param name="operating">操作行为</param>
/// <param name="flgValue">值</param>
/// <param name="addip">ip</param>
public static void Error(string message, int userid = 0, string platName = "", string module = "", string operating = "", string flgValue = "")
LogMessage lm = new LogMessage();
lm.userid = userid;
lm.platName = platName;
lm.module = module;
lm.operating = operating;
lm.flgValue = flgValue;
lm.addip = Utils.getIPAddress();
lm.remark = message;
LogManager.GetLogger(GetCurrentMethodFullName()).Error(lm);
/// <summary>
/// 错误、异常 记录日志
/// </summary>
/// <param name="message">记录内容</param>
/// <param name="userid">userid</param>
/// <param name="platName">平台</param>
/// <param name="module">模块</param>
/// <param name="operating">操作行为</param>
/// <param name="flgValue">值</param>
/// <param name="addip">ip</param>
public static void Error(string message, Exception exception, int userid = 0, string platName = "", string module = "", string operating = "", string flgValue = "")
LogMessage lm = new LogMessage();
lm.userid = userid;
lm.platName = platName;
lm.module = module;
lm.operating = operating;
lm.flgValue = flgValue;
lm.addip = Utils.getIPAddress();
lm.remark = message;
LogManager.GetLogger(GetCurrentMethodFullName()).Error(lm, exception);
#endregion
#region info 请求,用户行为 记录日志
/// <summary>
/// 请求,用户行为 记录日志
/// </summary>
/// <param name="message"></param>
public static void Info(object message)
LogManager.GetLogger(GetCurrentMethodFullName()).Info(message);
/// <summary>
/// 请求,用户行为 记录日志
/// </summary>
/// <param name="message"></param>
/// <param name="ex"></param>
public static void Info(object message, Exception ex)
LogManager.GetLogger(GetCurrentMethodFullName()).Info(message, ex);
/// <summary>
/// 请求,用户行为 记录日志
/// </summary>
/// <param name="message">记录内容</param>
/// <param name="userid">userid</param>
/// <param name="platName">平台</param>
/// <param name="module">模块</param>
/// <param name="operating">操作行为</param>
/// <param name="flgValue">值</param>
/// <param name="addip">ip</param>
public static void Info(string message, int userid = 0, string platName = "", string module = "", string operating = "", string flgValue = "")
LogMessage lm = new LogMessage();
lm.userid = userid;
lm.platName = platName;
lm.module = module;
lm.operating = operating;
lm.flgValue = flgValue;
lm.addip = Utils.getIPAddress();
lm.remark = message;
LogManager.GetLogger(GetCurrentMethodFullName()).Info(lm);
/// <summary>
/// 请求,用户行为 记录日志
/// </summary>
/// <param name="message">记录内容</param>
/// <param name="ex">异常</param>
/// <param name="userid">userid</param>
/// <param name="platName">平台</param>
/// <param name="module">模块</param>
/// <param name="operating">操作行为</param>
/// <param name="flgValue">值</param>
/// <param name="addip">ip</param>
public static void Info(string message, Exception ex, int userid = 0, string platName = "", string module = "", string operating = "", string flgValue = "")
LogMessage lm = new LogMessage();
lm.userid = userid;
lm.platName = platName;
lm.module = module;
lm.operating = operating;
lm.flgValue = flgValue;
lm.addip = Utils.getIPAddress();
lm.remark = message;
LogManager.GetLogger(GetCurrentMethodFullName()).Info(lm, ex);
#endregion
#region debug 调试记录日志
/// <summary>
/// 调试记录日志
/// </summary>
/// <param name="message"></param>
public static void Debug(object message)
LogManager.GetLogger(GetCurrentMethodFullName()).Debug(message);
/// <summary>
/// 调试记录日志
/// </summary>
/// <param name="message"></param>
/// <param name="ex"></param>
public static void Debug(object message, Exception ex)
LogManager.GetLogger(GetCurrentMethodFullName()).Debug(message, ex);
/// <summary>
/// 调试记录日志
/// </summary>
/// <param name="message">记录内容</param>
/// <param name="userid">userid</param>
/// <param name="platName">平台</param>
/// <param name="module">模块</param>
/// <param name="operating">操作行为</param>
/// <param name="flgValue">值</param>
/// <param name="addip">ip</param>
public static void Debug(string message, int userid = 0, string platName = "", string module = "", string operating = "", string flgValue = "")
LogMessage lm = new LogMessage();
lm.userid = userid;
lm.platName = platName;
lm.module = module;
lm.operating = operating;
lm.flgValue = flgValue;
lm.addip = Utils.getIPAddress();
lm.remark = message;
LogManager.GetLogger(GetCurrentMethodFullName()).Debug(lm);
#endregion
#region warin 警告
public static void Warn(object message)
LogManager.GetLogger(GetCurrentMethodFullName()).Warn(message);
public static void Warn(object message, Exception ex)
LogManager.GetLogger(GetCurrentMethodFullName()).Warn(message, ex);
/// <summary>
/// 错误、异常 记录日志
/// </summary>
/// <param name="userid">userid</param>
/// <param name="platName">平台</param>
/// <param name="module">模块</param>
/// <param name="operating">操作行为</param>
/// <param name="flgValue">值</param>
/// <param name="addip">ip</param>
/// <param name="message">记录内容</param>
public static void Warn(string message, int userid = 0, string platName = "", string module = "", string operating = "", string flgValue = "")
LogMessage lm = new LogMessage();
lm.userid = userid;
lm.platName = platName;
lm.module = module;
lm.operating = operating;
lm.flgValue = flgValue;
lm.addip = Utils.getIPAddress();
lm.remark = message;
LogManager.GetLogger(GetCurrentMethodFullName()).Warn(lm);
/// <summary>
/// 错误、异常 记录日志
/// </summary>
/// <param name="message">记录内容</param>
/// <param name="userid">userid</param>
/// <param name="platName">平台</param>
/// <param name="module">模块</param>
/// <param name="operating">操作行为</param>
/// <param name="flgValue">值</param>
/// <param name="addip">ip</param>
public static void Warn(string message, Exception exception, int userid = 0, string platName = "", string module = "", string operating = "", string flgValue = "")
LogMessage lm = new LogMessage();
lm.userid = userid;
lm.platName = platName;
lm.module = module;
lm.operating = operating;
lm.flgValue = flgValue;
lm.addip = Utils.getIPAddress();
lm.remark = message;
LogManager.GetLogger(GetCurrentMethodFullName()).Warn(lm, exception);
#endregion
private static string GetCurrentMethodFullName()
StackFrame frame;
string MethodFunStr = "";
string MethodFullNameStr = "";
// bool flag;
try
int num = 2;
StackTrace stackTrace = new StackTrace();
int length = stackTrace.GetFrames().Length;
//do
//
int num1 = num;
// num = num1 + 1;
frame = stackTrace.GetFrame(num1);
MethodFunStr = frame.GetMethod().DeclaringType.ToString();
// flag = (!MethodFunStr.EndsWith("Exception") ? false : num < length);
//
//while (flag);
string name = frame.GetMethod().Name;
MethodFullNameStr = string.Concat(MethodFunStr, ".", name);
catch (Exception ex)
string exMessage = ex.Message;
MethodFullNameStr = exMessage.Substring(0, exMessage.Length > 200 ? 200 : exMessage.Length);
LogManager.GetLogger("内部调试").Error("GetCurrentMethodFullName()方法报错啦!!!", ex);
return MethodFullNameStr;
// return "TestName";
log4net.config文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<!--数据库记录-->
<!--错误日志-->
<appender name="ADONetAppendermysqlClient" type="log4net.Appender.ADONetAppender">
<bufferSize value="0" />
<param name="ReconnectOnError" value="true"/>
<connectionType value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
<connectionString value="server=10.1.0.228;user id=lijun;pwd=520777;port=3306;pooling=True;database=hurongclub_log;charset=utf8;" providerName="MySql.Data.MySqlClient;" />
<commandText value="INSERT INTO loginfo (ID,CreateTime,Thread,Level,Logger,Message,Exception,UserID,PlatName,Module,Operation,DeviceID,HRVersion,CustomerID,RequestUrl,RequestIPs) VALUES(@ID,@log_date,@thread,@log_level,@logger,@message,@exception,@UserID,@PlatName,@Module,@Operation,@DeviceID,@HRVersion,@CustomerID,@RequestUrl,@RequestIPs)" />
<!--logger4net-->
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
<parameter>
<parameterName value="@exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
<!--ID-->
<parameter>
<parameterName value="@ID" />
<dbType value="String" />
<size value="10" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyID" />
</layout>
</parameter>
<!--UserID -->
<parameter>
<parameterName value="@UserID" />
<dbType value="Int32" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyUserID" />
</layout>
</parameter>
<!--PlatName -->
<parameter>
<parameterName value="@PlatName" />
<dbType value="String" />
<size value="10" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyPlatName" />
</layout>
</parameter>
<!--Module -->
<parameter>
<parameterName value="@Module" />
<dbType value="String" />
<size value="10" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyModule" />
</layout>
</parameter>
<!--Operation -->
<parameter>
<parameterName value="@Operation" />
<dbType value="String" />
<size value="200" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyOperation" />
</layout>
</parameter>
<!--RequestIPs -->
<parameter>
<parameterName value="@RequestIPs" />
<dbType value="String" />
<size value="10" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyRequestIPs" />
</layout>
</parameter>
<!--RequestUrl -->
<parameter>
<parameterName value="@RequestUrl" />
<dbType value="String" />
<size value="500" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyRequestUrl" />
</layout>
</parameter>
<!--DeviceID -->
<parameter>
<parameterName value="@DeviceID" />
<dbType value="String" />
<size value="10" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyDeviceID" />
</layout>
</parameter>
<!--HRVersion -->
<parameter>
<parameterName value="@HRVersion" />
<dbType value="String" />
<size value="10" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyHRVersion" />
</layout>
</parameter>
<!--CustomerID -->
<parameter>
<parameterName value="@CustomerID" />
<dbType value="String" />
<size value="10" />
<layout type="HuRongClub.Log.CustomLayout">
<conversionPattern value="%propertyCustomerID" />
</layout>
</parameter>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<!--Txt记录形式-->
<!--信息日志-->
<appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logfile\\Info\\" />
<param name="AppendToFile" value="true" />
<param name="datePattern" value="yyyy-MM-dd.Info.LOG" />
<param name="staticLogFileName" value="false" />
<param name="rollingStyle" value="Composite" />
<param name="MaxSizeRollBackups" value="-1" />
<param name="MaximumFileSize" value="5000KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date -[%thread] %-5level -%logger %message %newline%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>
<!--调试日志-->
<appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logfile\\Debug\\" />
<param name="AppendToFile" value="true" />
<param name="datePattern" value="yyyy-MM-dd.debug.LOG" />
<param name="staticLogFileName" value="false" />
<param name="rollingStyle" value="Composite" />
<param name="MaxSizeRollBackups" value="-1" />
<param name="MaximumFileSize" value="5000KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date -[%thread] %-5level -%logger %message %newline%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG" />
<param name="LevelMax" value="DEBUG" />
</filter>
</appender>
<!--警告日志-->
<appender name="WarningRollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logfile\\Warn\\" />
<param name="AppendToFile" value="true" />
<param name="datePattern" value="yyyy-MM-dd.warn.log" />
<param name="staticLogFileName" value="false" />
<param name="rollingStyle" value="Composite" />
<param name="MaxSizeRollBackups" value="-1" />
<param name="MaximumFileSize" value="5000KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%n记录时间:%date %n日志级别:%-5level %n日 志 类:%logger %n日志描述:%message %newline%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="WARN" />
</filter>
</appender>
<!--错误日志-->
<appender name="ErrorRollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logfile\\Error\\" />
<param name="AppendToFile" value="true" />
<param name="datePattern" value="yyyy-MM-dd.error.LOG" />
<param name="staticLogFileName" value="false" />
<param name="rollingStyle" value="Composite" />
<param name="MaxSizeRollBackups" value="-1" />
<param name="MaximumFileSize" value="5000KB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%n记录时间:%date %n日志级别:%-5level %n日 志 类:%logger %n日志描述:%message %newline%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="Error" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<root>
<level value="All" />
<!--数据库 形式记录日志-->
<!--<appender-ref ref="ADONetAppenderMySqlClient" />-->
<!--文件形式记录日志-->
<appender-ref ref="ErrorRollingFileAppender" />
<appender-ref ref="DebugRollingFileAppender" />
<appender-ref ref="WarningRollingFileAppender" />
<appender-ref ref="InfoRollingFileAppender" />
</root>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"
作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者,如需转载恳请注明。
如果您觉得阅读这篇博客让你有所收获,
为之网-热爱软件编程 http://www.weizhi.cc/
以上是关于asp.net 的log4net的helper类的主要内容,如果未能解决你的问题,请参考以下文章