比较全的log4j示例
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="off">
<!--先定义所有的appender -->
<appenders>
<!--这个输出控制台的配置 -->
<Console name="Console" target="SYSTEM_OUT">
<!--这个都知道是输出日志的格式 -->
<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n%ex" />
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
</Console>
<RollingFile name="RollingFile" fileName="/log/CFDMS.log" filePattern="/log/CFDMS.%d{yyyy-MM-dd}.log">
<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n%ex" charset="UTF-8" />
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY" />
<Policies>
<!-- 每天一个文件 -->
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
<!-- 保存365天的记录 -->
<DefaultRolloverStrategy max="365" />
</Policies>
</RollingFile>
<RollingFile name="RollingFileSuccess" fileName="/log/CFDMSSuccess.log" filePattern="/log/CFDMSSuccess.%d{yyyy-MM-dd}.log">
<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n%ex" charset="UTF-8" />
<Filters>
<!-- 显示error级别之外的信息 -->
<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<Policies>
<!-- 每天一个文件 -->
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
<!-- 保存365天的记录 -->
<DefaultRolloverStrategy max="365" />
</Policies>
</RollingFile>
<RollingFile name="RollingFileError" fileName="/log/CFDMSError.log" filePattern="/log/CFDMSError.%d{yyyy-MM-dd}.log">
<PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n%ex" charset="UTF-8" />
<Filters>
<!-- 只显示error级别的信息 -->
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
<Policies>
<!-- 每天一个文件 -->
<TimeBasedTriggeringPolicy interval="1" modulate="true" />
<!-- 保存365天的记录 -->
<DefaultRolloverStrategy max="365" />
</Policies>
</RollingFile>
<!-- 自定义一个log文件在程序中直接使用 -->
<RollingFile name="liuyxlog" fileName="/log/liuyx.log" append="true"
filePattern="/log/liuyx$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
<PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
<SizeBasedTriggeringPolicy size="4 MB"/>
</RollingFile>
</appenders>
<!--然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
<loggers>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core" level="warn">
</logger>
<logger name="org.springframework.beans" level="warn">
</logger>
<logger name="org.springframework.context" level="warn">
</logger>
<logger name="org.springframework.web" level="warn">
</logger>
<logger name="org.jboss.netty" level="warn">
</logger>
<logger name="org.apache.http" level="warn">
</logger>
<logger name="com.mchange.v2" level="warn">
</logger>
<!-- 自定义一个log文件在程序中直接使用 -->
<logger name="liuyxlogger" additivity="TRUE" level="ALL">
<appender-ref ref="liuyxlog" level="ALL" />
</logger>
<!--建立一个默认的root的logger -->
<root level="info">
<appender-ref ref="RollingFile" />
<appender-ref ref="RollingFileSuccess" />
<appender-ref ref="RollingFileError" />
<appender-ref ref="Console" />
</root>
</loggers>
</configuration>
package com.inspur; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; public class WhereIsMyLogFile {
private static Logger logger = LogManager.getLogger("liuyxlogger");
private static Logger logger2 = LogManager.getLogger(WhereIsMyLogFile.class);
public static void main(String[] args) {
logger.trace("hello liuyx log");
logger2.info("from logger2");
logger2.error("im an error");
}
}
输出结果


如果想输出到tomcat根目录下,可以在路径前加上${sys:catalina.home}
比较全的log4j示例的更多相关文章
- jquery数组之存放checkbox全选值示例代码
使用jquery数组可以存放checkbox全选值,下面有个不错的示例,感兴趣的朋友可以参考下. 复制代码代码如下: <input type="checkbox" id=&q ...
- log4j示例
示例代码:此示例从控制台输入日志,设置了输出等级. # # Log4J Settings for log4j 1.2.x (via jakarta-commons-logging) # # The f ...
- Spring MVC-集成(Integration)-集成LOG4J示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_log4j.htm 说明:示例基于Spring MVC 4.1.6. 以下示例说明 ...
- checked 全选 反选 示例
不多说看例子: 右上侧全选,然后每个栏又有一个栏目全选. 反选解决办法: function selectSubscibe(_class) { $("." + _class + &q ...
- 印刷行业合版BOM全阶维护示例
先看看基本界面: 在上图中,左侧为产品的整个树形图 目前产品有4种状态: 1.普通产品,颜色为黑色 2.需要拼版的产品,颜色为绿色 3.拼版的产品(例如印刷件),基准件为红色 4.拼版的产品,非基准件 ...
- log4j示例-Daily方式(log4j.properties)
log_home=./log log4j.rootLogger=info log4j.category.com.ai.toptea.collection=Console,DailyFile,Daily ...
- Log4j、slf4j
1.Log4j 1.1 Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出位置)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志 ...
- Tips & Tricks:Apache log4j简明教程(一)
Apache log4j的官方介绍是“log4j is a reliable, fast and flexible logging framework (APIs) written in Java, ...
- log4j的基本使用和参数设定
1.简介 apache的一个开放源代码项目. 精确控制日志的输出,包括输出的格式,输出的目的地,输出的过滤(不同级别日志的输出)等. 配置简单,不需要在代码中配置环境,支持两种配置文件格式,XML和J ...
随机推荐
- CXF生成调用webservice的客户端
首先当前是从官网下载cxf组件. http://cxf.apache.org/download.html 下载后解压,在这里主要是用到解压后的bin目录中的wsdl2java.bat该批处理文件. 可 ...
- 让ios项目同时支持ARC和非ARC
ttp://code4app.com/snippets/one/禁止某几个文件用ARC模式编译/502344256803fa246d000000#s0 如果你的绝大部分代码需要ARC,那么就设置项目支 ...
- linux下的系统调用函数到内核函数的追踪
http://blog.csdn.net/maochengtao/article/details/23598433
- rc_80 tomcat 日志
1 #!/bin/sh 2 cd /mnt/tomcat/tomcat_8082/logs; 3 tail -f catalina.out;
- 免sudo使用docker命令
背景 因为使用的是sudo安装docker,所以会导致一个问题.以普通用户登录的状况下,在使用docker images时必须添加sudo,那么如何让docker免sudo依然可用呢?于是开始搜索解决 ...
- 做考试系统用到的关于onbeforeunload一些兼容性问题
最近做考试系统,一些效果存在一些兼容性问题,尤其是ie6,本人js不是很好,通过查资料解决了这些问题,现总结下: 关于onbeforeunload问题: 考试时离开页面需要提示,但是直接用此方法或on ...
- Zookeeper常用命令 (转)
原文链接:ZooKeeper系列之二:Zookeeper常用命令 ZooKeeper服务命令: 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服 ...
- Qt 维护工具MaintenanceTool.exe 使用
QT如何管理组件(解决“要继续此操作,至少需要一个有效且已启用的储存库”问题) 转载2017-10-26 01:48:46 标签:qt QT的组件管理软件并没有在开始菜单或者桌面添加快捷方式(5.9版 ...
- [Todo]提升电商网站性能方面的一些资料材料
又到国庆,喷一喷12306.cn的技术架构 http://chengxu.org/p/369.html 其中用到了不少比较细节的优化技巧. 提到库存管理是电商非常难的地方.也讲了跟秒杀相关的一些内容.
- 高性能Mysql主从架构的复制原理及配置
1. 复制概述 1.1 mysql支持的复制类型 1.2 复制解决的问题 1.3 复制如何工作 2. 2 复制配置 2.1创建复制帐号 2.2拷贝数据 2.3配置master 2.4配置slave 2 ...