log 4net组件下载:log4net.dll
web.config配置如下:
<?
xml version
=
"
1.0
"
encoding
=
"
utf-8
"
?>
<
configuration
>
<
configSections
>
<
section name
=
"
log4net
"
type
=
"
log4net.Config.Log4NetConfigurationSectionHandler,log4net
"
/>
</
configSections
>
<
log4net
>
<
logger name
=
"
logerror
"
>
<
level value
=
"
ERROR
"
/>
<
appender
-
ref
ref
=
"
ErrorAppender
"
/>
</
logger
>
<
logger name
=
"
loginfo
"
>
<
level value
=
"
INFO
"
/>
<
appender
-
ref
ref
=
"
InfoAppender
"
/>
</
logger
>
<
appender name
=
"
ErrorAppender
"
type
=
"
log4net.Appender.RollingFileAppender
"
>
<
param name
=
"
File
"
value
=
"
Log//LogError//
"
/>
<
param name
=
"
AppendToFile
"
value
=
"
true
"
/>
<
param name
=
"
MaxSizeRollBackups
"
value
=
"
100
"
/>
<
param name
=
"
MaxFileSize
"
value
=
"
10240
"
/>
<
param name
=
"
StaticLogFileName
"
value
=
"
false
"
/>
<
param name
=
"
DatePattern
"
value
=
"
yyyyMMdd".htm"
"
/>
<
param name
=
"
RollingStyle
"
value
=
"
Date
"
/>
<
layout type
=
"
log4net.Layout.PatternLayout
"
>
<
param name
=
"
ConversionPattern
"
value
=
"
<HR COLOR=red>%n异常时间:%d [%t] <BR>%n异常级别:%-5p
&
lt;BR
&
gt;
%
n异 常 类:
%
c [
%
x]
&
lt;BR
&
gt;
%
n
%
m
&
lt;BR
&
gt;
%
n
&
lt;HR Size
=
1
&
gt;
"
/>
</
layout
>
</
appender
>
<
appender name
=
"
InfoAppender
"
type
=
"
log4net.Appender.RollingFileAppender
"
>
<
param name
=
"
File
"
value
=
"
Log//LogInfo//
"
/>
<
param name
=
"
AppendToFile
"
value
=
"
true
"
/>
<
param name
=
"
MaxFileSize
"
value
=
"
10240
"
/>
<
param name
=
"
MaxSizeRollBackups
"
value
=
"
100
"
/>
<
param name
=
"
StaticLogFileName
"
value
=
"
false
"
/>
<
param name
=
"
DatePattern
"
value
=
"
yyyyMMdd".htm"
"
/>
<
param name
=
"
RollingStyle
"
value
=
"
Date
"
/>
<
layout type
=
"
log4net.Layout.PatternLayout
"
>
<
param name
=
"
ConversionPattern
"
value
=
"
<HR COLOR=blue>%n日志时间:%d [%t] <BR>%n日志级别:%-5p
&
lt;BR
&
gt;
%
n日 志 类:
%
c [
%
x]
&
lt;BR
&
gt;
%
n
%
m
&
lt;BR
&
gt;
%
n
&
lt;HR Size
=
1
&
gt;
"
/>
</
layout
>
</
appender
>
</
log4net
>
<
system.web
>
<
compilation defaultLanguage
=
"
c#
"
debug
=
"
true
"
/>
<
customErrors mode
=
"
RemoteOnly
"
/>
<
authentication mode
=
"
Windows
"
/>
<
authorization
>
<
allow users
=
"
*
"
/>
</
authorization
>
<
trace enabled
=
"
false
"
requestLimit
=
"
10
"
pageOutput
=
"
false
"
traceMode
=
"
SortByTime
"
localOnly
=
"
true
"
/>
<
sessionState mode
=
"
InProc
"
stateConnectionString
=
"
tcpip=127.0.0.1:42424
"
sqlConnectionString
=
"
data source=127.0.0.1;Trusted_Connection=yes
"
cookieless
=
"
false
"
timeout
=
"
20
"
/>
<
globalization requestEncoding
=
"
utf-8
"
responseEncoding
=
"
utf-8
"
/>
</
system.web
>
</
configuration
>
LOG操作类
using
System;
using
System.IO;
namespace
TankAction.SystemLog
{
/**//// <summary>
/// LogHelper的摘要说明。
/// </summary>
public class LogHelper
{
private SystemLog()
{
}
public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
public static void SetConfig()
{
log4net.Config.DOMConfigurator.Configure();
}
public static void SetConfig(FileInfo configFile)
{
log4net.Config.DOMConfigurator.Configure(configFile);
}
public static void WriteLog(string info)
{
if(loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
}
public static void WriteLog(string info,Exception se)
{
if(logerror.IsErrorEnabled)
{
logerror.Error(info,se);
}
}
}
}
Global.asax.cs文件配置如下:
protected
void
Application_Start(Object sender, EventArgs e)
{
SystemLog.SetConfig();
}
protected
void
Application_Error(Object sender, EventArgs e)
{
Exception objExp = HttpContext.Current.Server.GetLastError();
LogHelper.WriteLog("/r/n客户机IP:"+ Request.UserHostAddress +"/r/n错误地址:"+ Request.Url +"/r/n异常信息:"+ Server.GetLastError().Message,objExp);
}
eg:
try
{}
catch(Exception ex)
{
LogHelper.WriteLog("ErrorInfo"ex);
}
来源:http://fanrsh.cnblogs.com/archive/2006/06/08/420546.html
本文介绍如何使用log4net组件进行日志记录配置。包括log4net.dll的下载及web.config文件的具体配置示例,同时提供了日志操作类LogHelper的实现方式,以及Global.asax.cs文件中对日志异常捕获的处理方法。
89

被折叠的 条评论
为什么被折叠?



