log4j 配置实例

一定时间产生日志文件

# Set root logger level to ERROR and its only appender to A1. 
    log4j.rootLogger=ERROR,R 
   
    # R is set to be a DailyRollingFileAppender. 
    log4j.appender.R=org.apache.log4j.DailyRollingFileAppender 
   
    log4j.appender.R.File=backup.log 
    log4j.appender.R.DatePattern = '.'yyyy-MM-dd 
    log4j.appender.R.layout=org.apache.log4j.PatternLayout 
    log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n 
     
    以上配置是每天产生一个备份文件。其中备份文件的名字叫backup.log。 www_bitscn_com 
    具体的效果是这样:当天的日志信息记录在backup.log文件中,前一天的记录在名称为  backup.log.yyyy-mm-dd 的文件中。 
    类似的,如果需要每月产生一个文件可以修改上面的配置: 
    将 
     log4j.appender.R.DatePattern = '.'yyyy-MM-dd 
    改为 
      log4j.appender.R.DatePattern = '.'yyyy-MM 

日志文件大小自动产生新日志文件

  
  # Set root logger level to ERROR and its only appender to A1. 
  log4j.rootLogger=ERROR,R 
   
  # R is set to be a RollingFileAppender. 
  log4j.appender.R=org.apache.log4j.RollingFileAppender 
   
  log4j.appender.R.File=backup.log 
  #log4j.appender.R.MaxFileSize=100KB //日志文件大小
   
  # Keep one backup file 
  log4j.appender.R.MaxBackupIndex=1  //一个备份文件
  log4j.appender.R.layout=org.apache.log4j.PatternLayout 
  log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n 

log4j 2: 参数化输出文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- status=debug 可以查看log4j的装配过程 -->
<configuration status="off">
	<properties>
		<property name="LOG_HOME">/log/fish</property>
		<!-- 日志备份目录 -->
		<property name="BACKUP_HOME">{LOG_HOME}/backup</property>
	</properties>
	<appenders>
		<!-- 定义控制台输出 -->
		<Console name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss} %level [%thread][%class{36}:%line] - %msg%n" />
		</Console>
		<!-- 程序员调试日志 -->
		
		<RollingFile name="DevLog" fileName="logs/debug_${sys:app.name}"
			filePattern="logs/debug_${sys:app.name}-%d{MM-dd-yyyy}-%i.log">
			<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss} %level [%thread][%class{36}:%line] - %msg%n" />
			<SizeBasedTriggeringPolicy size="50MB"/>
		</RollingFile>
		
		<!-- 游戏产品数据分析日志 -->
		
		<RollingFile name="ProductLog" fileName="logs/${sys:app.name}"
			filePattern="logs/${sys:app.name}-%d{MM-dd-yyyy}-%i.log">
			<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss} %level [%thread][%class{36}:%line] - %msg%n" />
			<SizeBasedTriggeringPolicy size="50MB"/>
		</RollingFile>
		
	</appenders>
	<loggers>
		<!-- 3rdparty Loggers -->
		<logger name="org.springframework.core" level="warn">
		</logger>
		<logger name="org.springframework.beans" level="warn">
		</logger>
		<logger name="org.apache.commons.beanutils" level="warn">
		</logger>
		<logger name="org.eclipse.jetty" level="warn">
		</logger>
		<logger name="org.springframework.context" level="info">
		</logger>
		<logger name="net.sf.json" level="warn">
		</logger>
		<logger name="org.apache.xmlrpc" level="warn">
		</logger>
		<logger name="org.apache.http" level="warn">
		</logger>
		<!-- Game Stat logger 
		<logger name="cn.cstnet" level="debug" additivity="false">
			<appender-ref ref="ProductLog" />
		</logger>-->
		<!-- Root Logger -->
		<root level="DEBUG">
			<appender-ref ref="DevLog" level="debug" />
			<appender-ref ref="ProductLog" level="warn" />
			<appender-ref ref="Console" level="debug" />
		</root>
	</loggers>
</configuration>




其中 sys:app.home , 可通过  java  -Dapp.home 传入
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 Log4j 的配置,你可以按照以下步骤进行: 1. 首先,确保你已经将 Log4j 的 JAR 文件添加到你的项目中。 2. 在项目的根目录下创建一个名为 `log4j.properties` 的文件(或者是 `log4j.xml`,取决于你选择使用哪种配置文件格式)。 3. 在配置文件中,你可以设置日志的级别、输出目标(如控制台、文件)、日志格式等。以下是一个简单的示例配置文件: ``` # 设置日志级别 log4j.rootLogger=DEBUG, console # 输出到控制台 log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n # 输出到文件 log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=/path/to/logfile.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.MaxBackupIndex=10 log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n ``` 在上面的示例中,日志级别设置为 DEBUG,日志输出到控制台和文件。你可以根据自己的需求进行调整。 4. 在你的代码中,通过以下方式初始化 Log4j: ``` import org.apache.log4j.Logger; public class YourClass { private static final Logger logger = Logger.getLogger(YourClass.class); public static void main(String[] args) { // 使用日志 logger.debug("Debug message"); logger.info("Info message"); logger.warn("Warn message"); logger.error("Error message"); } } ``` 在上面的示例中,我们使用 `getLogger` 方法来获取与当前类相关联的 Logger 实例。然后,你可以使用 `debug`、`info`、`warn` 和 `error` 方法来输出不同级别的日志消息。 这只是一个简单的 Log4j 配置示例,你可以根据你的需求进行更详细的配置。希望对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值