Log4配置

一、常用输出格式

%c   列出logger名字空间的全称,如加上{<层数>}表示出从最内层算起的指定层数的名字空间
%X  按MDC(Mapped Diagnostic Context,线程映射表)输出日志。通常用于多个客户端连接同一台服务器,方便服务器区分是那个客户端访问留下来的日志。
%p  日志信息级别
%d   %d{<日期格式>}:日志信息产生时间,使用ISO8601定义的日期格式
%C   日志信息所在地(全限类名)
%m   产生的日志具体信息
%n    输出日志信息换行
%F 显示调用logger的源文件名
%l     输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数
%L    显示调用logger的代码行
%M   显示调用logger的方法名
%r     显示从程序启动时到记录该条日志时已经经过的毫秒数
%t     输出产生该日志事件的线程名
%% 显示一个
二、log4j .properties

#控制包中日志输出级别
log4j .logger.org.apache.struts = debug

# 应用于控制台
log4j .appender.CONSOLE=org.apache.log4j .ConsoleAppender
log4j .appender.Threshold=DEBUG
log4j .appender.CONSOLE.Target=System.out
log4j .appender.CONSOLE.layout=org.apache.log4j .PatternLayout
log4j .appender.CONSOLE.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n
#log4j .appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n

#应用于文件
log4j .appender.FILE=org.apache.log4j .FileAppender
log4j .appender.FILE.File=file.log
log4j .appender.FILE.Append=false
log4j .appender.FILE.layout=org.apache.log4j .PatternLayout
log4j .appender.FILE.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n
# Use this layout for LogFactor 5 analysis

# 应用于文件回滚
log4j .appender.ROLLING_FILE=org.apache.log4j .RollingFileAppender
log4j .appender.ROLLING_FILE.Threshold=ERROR
log4j .appender.ROLLING_FILE.File=rolling.log
log4j .appender.ROLLING_FILE.Append=true
log4j .appender.ROLLING_FILE.MaxFileSize=100KB
log4j .appender.ROLLING_FILE.MaxBackupIndex=10
log4j .appender.ROLLING_FILE.layout=org.apache.log4j .PatternLayout
log4j .appender.ROLLING_FILE.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n


#应用于socket
log4j .appender.SOCKET=org.apache.log4j .net.SocketAppender
log4j .appender.SOCKET.RemoteHost=localhost
log4j .appender.SOCKET.Port=5001
log4j .appender.SOCKET.LocationInfo=true
# Set up for Log Facter 5
log4j .appender.SOCKET.layout=org.apache.log4j .PatternLayout
log4j .appender.SOCET.layout.ConversionPattern=[start]%d{DATE}[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD]%n%c[CATEGORY]%n%m[MESSAGE]%n%n


# Log Factor 5 Appender
log4j .appender.LF5_APPENDER=org.apache.log4j .lf5.LF5Appender
log4j .appender.LF5_APPENDER.MaxNumberOfRecords=2000

# 发送日志给邮件
log4j .appender.MAIL=org.apache.log4j .net.SMTPAppender
log4j .appender.MAIL.Threshold=FATAL
log4j .appender.MAIL.BufferSize=10
log4j .appender.MAIL.From=web@www.wuset.com
log4j .appender.MAIL.SMTPHost=www.wusetu.com
log4j .appender.MAIL.Subject=Log4J Message
log4j .appender.MAIL.To=web@www.wusetu.com
log4j .appender.MAIL.layout=org.apache.log4j .PatternLayout
log4j .appender.MAIL.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n

# 用于数据库
log4j .appender.DATABASE=org.apache.log4j .jdbc.JDBCAppender
log4j .appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j .appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j .appender.DATABASE.user=root
log4j .appender.DATABASE.password=
log4j .appender.DATABASE.sql=INSERT INTO LOG4J (Message) VALUES ('[framework] %d - %-4r [%t] %-5p %c %x - %m%n')
log4j .appender.DATABASE.layout=org.apache.log4j .PatternLayout
log4j .appender.DATABASE.layout.ConversionPattern=[framework] %d - %-4r [%t] %-5p %c %x - %m%n

#每日回滚日志文件
log4j .appender.A1=org.apache.log4j .DailyRollingFileAppender
log4j .appender.A1.File=SampleMessages.log4j
log4j .appender.A1.DatePattern=yyyyMMdd-HH'.log4j '
log4j .appender.A1.layout=org.apache.log4j .xml.XMLLayout

#自定义Appender
log4j .appender.im = net.cybercorlin.util.logger.appender.IMAppender
log4j .appender.im.host = mail.cybercorlin.net
log4j .appender.im.username = username
log4j .appender.im.password = password
log4j .appender.im.recipient = corlin@cybercorlin.net
log4j .appender.im.layout=org.apache.log4j .PatternLayout
log4j .appender.im.layout.ConversionPattern =[framework] %d - %-4r [%t] %-5p %c %x - %m%n

 

三、日志记录器(Logger)的行为是分等级的。如下所示:

分 为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别, 则应用程序中所有DEBUG级别的日志信息将不被打印出来

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中使用log4net进行日志记录,你需要进行以下配置步骤: 1. 添加log4net引用:首先,确保你的项目中已经添加了log4net的引用。你可以通过NuGet包管理器来添加log4net引用,或者手动下载log4net库并将其添加到项目中。 2. 创建log4net配置文件:在项目中创建一个名为log4net.config(或者任何你喜欢的名称)的文件,用来配置log4net。这个文件的格式是XML格式。 3. 配置log4net:打开log4net.config文件,并在其中配置你想要的日志记录器、附加器和布局。根据你的需求,你可以配置不同的日志记录级别、输出目标、日志文件路径等等。 以下是一个简单的log4net配置示例: ```xml <?xml version="1.0" encoding="utf-8"?> <log4net> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="ConsoleAppender" /> </root> </log4net> ``` 在这个示例中,我们配置了一个名为ConsoleAppender的附加器,用于将日志输出到控制台。我们还配置了一个根日志记录器,并将日志级别设置为DEBUG,并将ConsoleAppender附加到根日志记录器上。 4. 加载log4net配置:在你的应用程序的入口点(例如Main方法)中,添加以下代码来加载log4net配置: ```csharp using log4net; using log4net.Config; class Program { private static readonly ILog log = LogManager.GetLogger(typeof(Program)); static void Main(string[] args) { XmlConfigurator.Configure(new FileInfo("log4net.config")); log.Debug("Debug message"); log.Info("Info message"); log.Warn("Warn message"); log.Error("Error message"); log.Fatal("Fatal message"); } } ``` 在这个示例中,我们首先引入log4net和log4net.Config命名空间。然后,我们使用ILog接口创建一个日志记录器,并在Main方法中使用该日志记录器输出不同级别的日志消息。 注意:在加载log4net配置之前,确保log4net.config文件与应用程序的可执行文件在同一目录下,或者你可以指定配置文件的完整路径。 这就是使用log4net进行日志记录的基本配置步骤。你可以根据自己的需求进行进一步的配置和定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值