<?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}

转载于:https://www.cnblogs.com/flying607/p/7449618.html

比较全的log4j示例相关推荐

  1. R语言使用knitr生成机器学习模型全流程步骤示例:knitr与自动化结果报告、knitr常用参数

    R语言使用knitr生成机器学习模型全流程步骤示例:knitr与自动化结果报告.knitr常用参数 目录

  2. 音频数据建模全流程代码示例:通过讲话人的声音进行年龄预测

    来源:DeepHub IMBA 本文约6100字,建议阅读10+分钟 本文展示了从EDA.音频预处理到特征工程和数据建模的完整源代码演示. 大多数人都熟悉如何在图像.文本或表格数据上运行数据科学项目. ...

  3. mysql的dml全,MySQL数据管理----DML语言(全记住)(示例代码)

    DML语言(全记住) 数据库意义:数据存储.数据管理 DML语言:数据操作语言 Insert update delete truncate 1.insert 添加 错误示例: -- 1.指定1个字段, ...

  4. Spring MVC-集成(Integration)-集成LOG4J示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_log4j.htm 说明:示例基于Spring MVC 4.1.6. 以下示例说明 ...

  5. 音频数据的建模全流程代码示例:通过讲话人的声音进行年龄预测

    大多数人都熟悉如何在图像.文本或表格数据上运行数据科学项目.但处理音频数据的样例非常的少见.在本文中,将介绍如何在机器学习的帮助下准备.探索和分析音频数据.简而言之:与其他的形式(例如文本或图像)类似 ...

  6. 最全-python教程示例大全 同步学习

    文章目录 第1章 计算机基础及Python简介 第2章 编写简单的程序 2.1 示例程序 2.2 标识符及命名规范 2.3 变量与赋值语句 2.3.1 Python语言中的变量 2.3.2 变量的赋值 ...

  7. F11快捷键自适应缩放全屏(CSS示例)

    一.F11快捷键 在使用B/S系统时,为了突出展示系统功能,一般会按F11快捷键将浏览器全屏展示.全屏展示时将浏览器的地址栏.书签栏.PC机的任务栏等都被隐藏,显示器仅仅显示整个web系统的所有元素, ...

  8. 正则表达式全解析+常用示例

    在开始写这篇文章之前,我的心里还是纠结的.我在问自己要不要写这篇东西,关于相似的内容网上多如牛毛,而且还不乏珍品,况且,就算我写了也不一定能写的好.但是现在你既然看到了,那说明我还是写了出来.就算是对 ...

  9. android4.0.3去掉底部状态栏statusbar,全屏显示示例代码

    要去掉android4.0上的状态栏,全屏显示的代码如下: 1.将usleep和killall这二个文件放到assets文件夹下.这二个文件可在下面的附件中下载到. 2.创建Device.java(注 ...

最新文章

  1. .NET MVC 学习笔记(一)— 新建MVC工程
  2. 在 Eclipse 中使用 Maven 构建 Web 项目
  3. python 翻译库_有没有大神用Python Requests库翻译一下呢?
  4. Nginx(三):负载均衡策略 与 Nginx静态服务器
  5. 游戏开发-从零开始 002
  6. 如何在Spring Boot App中集成H2数据库
  7. Python扑克牌发牌(用类实现)
  8. oracle pl/sql 无监听程序
  9. R爬虫可视化第五季-图解欧洲足球五大联赛
  10. 5064. 删除字符串中的所有相邻重复项
  11. 转载 信号量 第六篇
  12. 探究L298N模块烧毁的原因
  13. 王者荣耀android换ios,2021王者荣耀安卓账号可以转苹果吗 2021年安卓账号转移到ios方法...
  14. 技术之外——哀悼我的大学舍友
  15. matlab impixel的用法
  16. Android 手势操作GestureDetector
  17. python 散点图 自定义x轴标签/经度180到-180连接
  18. 国外调查问卷项目赚美金
  19. vba和vb的小区别
  20. 安装.NET 4.5.1

热门文章

  1. jQuery框架学习第十天:实战jQueryUI常用功能
  2. 错误 1 类型“System.Web.UI.ScriptManager”同时存在于“c:\windows\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0
  3. 基于LINQ to SQL的WEB开发三层架构(1)
  4. 《scikit-learn》数据预处理与特征工程(一)数据归一化
  5. 0 full gc时cpu idle_Go语言中如何观察GC
  6. kettle时间维度_MySQL快速生成时间维度表
  7. leetcode —— 337. 打家劫舍 III
  8. WAMP下解决localhost可以访问但IP地址无法访问的问题
  9. 网络爬虫之Url含有中文如何转码
  10. python绘制动态图-数据可视化