log4日志配置02

5.日志详细配置(参考)

 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>

<log4net debug="true">
<!--控制台界面日志输出-->
<appender name="ManagedColoredConsoleAppender" type="log4net.Appender.ManagedColoredConsoleAppender">
<mapping>
<level value="ERROR" />
<foreColor value="White" />
<backColor value="Red" />
</mapping>
<mapping>
<level value="WARN" />
<foreColor value="Yellow" />
</mapping>
<mapping>
<level value="INFO" />
<foreColor value="White" />
</mapping>
<mapping>
<level value="DEBUG" />
<foreColor value="Blue" />
</mapping>

<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date] %thread -- %-5level -- %logger [%M] -- %message%newline" />
</layout>
</appender>
<!--本地文件日志记录-->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs/applicationLog.log" />
<!--file可以指定具体的路径 eg : d:\\test.log。不指定的话log被生成在项目的bin/Debug 或者 bin/Release目录下 (web的项目 默认生成在根目录下)-->
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<!--备份log文件的个数最多10个-->
<maximumFileSize value="2MB" />
<!--每个log文件最大是2M,如果超过2M将重新创建一个新的log文件,并将原来的log文件备份。-->
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<!--指定log的格式-->
<conversionPattern value="[%date] %thread -- %-5level -- %logger [%M] -- %message%newline" />
</layout>
</appender>
<!--数据库日志记录-->
<appender name="WcsLogDBAppender" type="log4net.Appender.ADONetAppender">
<filter type="com.jt.wcs.common.log.WcsLogFilter,com.jt.wcs.common" />

<bufferSize value="1"/>
<!--设置日志缓冲区大小,设置为最小,这样就可以实时写入数据,否则每次缓冲区必须填满才会写入数据库-->
<param name="ConnectionType" value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data" />
<param name="ConnectionString" value="Database=ui;Data Source=localhost;User Id=root;Password=123456;CharSet=utf8;port=3308;SslMode=none;"/>
<param name="CommandText" value="insert into processlog(logtime,source,logger,loglevel,taskkey,lpn,logcontent) values(@log_time, @source, @log_logger, @log_level, @taskkey,@lpn,@log_content)" />

<parameter>
<parameterName value="@log_time"/>
<dbType value="DateTime"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
</layout>
</parameter>

<parameter>
<parameterName value="@log_level"/>
<dbType value="String"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%p" />
</layout>
</parameter>

<parameter>
<parameterName value="@log_logger"/>
<dbType value="String"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%c" />
</layout>
</parameter>

<parameter>
<parameterName value="@log_content"/>
<dbType value="String"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%m" />
</layout>
</parameter>

<parameter>
<parameterName value="@source"/>
<dbType value="String"/>
<layout type="com.jt.wcs.common.log.WcsLogLayout,com.jt.wcs.common">
<conversionPattern value="%ec" />
</layout>
</parameter>

<parameter>
<parameterName value="@taskkey"/>
<dbType value="String"/>
<layout type="com.jt.wcs.common.log.WcsLogLayout,com.jt.wcs.common">
<conversionPattern value="%task" />
</layout>
</parameter>

<parameter>
<parameterName value="@lpn"/>
<dbType value="String" />
<layout type="com.jt.wcs.common.log.WcsLogLayout,com.jt.wcs.common">
<conversionPattern value="%lpn" />
</layout>
</parameter>

</appender>

<appender name="asyncForwarder" type="Log4Net.Async.ParallelForwardingAppender,Log4Net.Async">
<appender-ref ref="WcsLogDBAppender" />
<bufferSize value="800" />
</appender>

<root>
<level value="DEBUG" />
<!--指定将此级别及以上的log打印到log文件中-->
<appender-ref ref="ManagedColoredConsoleAppender" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="asyncForwarder" />
</root>
</log4net>
</configuration>

转载于:https://www.cnblogs.com/--zl--/p/10022154.html

### Log4j2 File Appender 配置示例 Log4j2 提供了多种方式来记录日志,其中 `File Appender` 是一种常见的用于将日志消息写入文件的方式。以下是基于 XML 的配置示例及其解释: #### 配置示例 ```xml <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <!-- 定义一个名为LogFileAppender的File Appender --> <Appenders> <File name="LogFileAppender" fileName="logs/app.log" append="true"> <!-- 设置日志布局为PatternLayout --> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/> </File> </Appenders> <!-- 定义Logger并关联File Appender --> <Loggers> <Root level="debug"> <AppenderRef ref="LogFileAppender"/> </Root> </Loggers> </Configuration> ``` #### 参数说明 - **fileName**: 指定日志文件的位置和名称,在上面的例子中指定为 `logs/app.log`[^1]。 - **append**: 如果设置为 `true`,则会在已有文件的基础上追加日志;如果设置为 `false`,每次启动应用时会清空原有日志文件的内容[^2]。 - **PatternLayout**: 日志输出格式化器,支持自定义日志输出样式。例如 `%d` 表示日期时间,`%t` 表示线程名,`%-5level` 表示日志级别等[^3]。 #### 功能扩展 如果希望进一步增强功能,比如按大小滚动保存日志或定期清理旧的日志文件,则可以使用 `RollingFile Appender` 替代普通的 `File Appender`。下面是一个简单的 `RollingFile Appender` 示例: ```xml <RollingFile name="RollingFileAppender" fileName="logs/app.log" filePattern="logs/app-%d{yyyy-MM-dd}.log.gz"> <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> <SizeBasedTriggeringPolicy size="10MB"/> </Policies> </RollingFile> ``` 在此配置中: - **filePattern**: 定义了归档日志文件的命名规则,例如按照日期归档并将历史日志压缩成 `.gz` 文件[^4]。 - **TimeBasedTriggeringPolicy**: 根据时间触发日志轮转,每天生成一个新的日志文件。 - **SizeBasedTriggeringPolicy**: 当当前日志文件达到指定大小(这里是 10 MB)时自动切换到新文件。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值