1.使用log4j2需要下载包,如下:

2.配置文件可以有三种格式(文件名必须规范,否则系统无法找到配置文件):

  1. classpath下名为 log4j-test.json 或者log4j-test.jsn文件
  2. classpath下名为 log4j2-test.xml
  3. classpath下名为 log4j.json 或者log4j.jsn文件
  4. classpath下名为 log4j2.xml

3.日志记录有两种方法:

    1.static Logger logger = LogManager.getLogger(MyApplication.class.getName());

    2.private static Logger logger = LogManager.getLogger("MyApplication");

4.我用的xml的配置,所以介绍一下xml配置:

  1.首先要配几个要用到的appender,这些appender功能不一样,比如有常规输出,重大异常输出,你可能需要他们输出形式或者输出的文件不同,这些都可以在appender中配置

  2.appender里面的一些配置说明:

    name:appender的名称
    fileName:输出文件和名称
    append:是否追加,true表示追加内容到所在的日志,false表示每次都覆盖
    filePattern:表示当日志到达指定的大小或者时间,产生新日志时,旧日志的命名路径
    PatternLayout:指定输出日志的格式,具体代表的意思见前面的博客中
    Policies:策略,表示日志什么时候应该产生新日志,可以有时间策略和大小策略等
    ThresholdFilter :过滤器,log4j2中有很多的filter
  3.接下来配置logger,指定哪些类进行何种输出,这个比较简单,可以直接看栗子:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Configuration monitorInterval="1" status="ERROR" strict="true" name="LogConfig">
  3. <Properties>
  4. <Property name="logbasedir">e:/log</Property>
  5. <Property name="log.layout">%d %-5p %t (%c:%L) - %m%n</Property>
  6. </Properties>
  7.  
  8. <--此处使用了两种类型的appender,RollingFile为滚动类型,满足策略条件后会新建文件夹记录 -->
  9. <Appenders>
  10. <Appender type="Console" name="STDOUT">
  11. <Target>SYSTEM_OUT</Target>
  12. <Layout type="PatternLayout" pattern="${log.layout}"/>
  13. </Appender>
  14. <Appender type="RollingFile" name="FILE" fileName="${logbasedir}/jutap-${sys:APPNAME}.log"
  15. filePattern = "${logbasedir}/jutap-${sys:APPNAME}-%d{yyyy-MM-dd}.%i.log">
  16. <Policies>
  17. <TimeBasedTriggeringPolicy />
  18. <SizeBasedTriggeringPolicy size="100 MB"/>
  19. </Policies>
  20. <Layout type="PatternLayout">
  21. <Charset>GBK</Charset>
  22. <Pattern>${log.layout}</Pattern>
  23. </Layout>
  24. </Appender>
  25. <Appender type="RollingFile" name="ExceptionLog" fileName="${logbasedir}/exception-${sys:APPNAME}.log"
  26. filePattern = "${logbasedir}/exception-${sys:APPNAME}-%d{yyyy-MM-dd}.%i.log">
  27. <Policies>
  28. <TimeBasedTriggeringPolicy />
  29. <SizeBasedTriggeringPolicy size="100 MB"/>
  30. </Policies>
  31. <Layout type="PatternLayout">
  32. <Charset>GBK</Charset>
  33. <Pattern>${log.layout}</Pattern>
  34. </Layout>
  35. </Appender>
  36. </Appenders>
  37.  
  38. <Loggers>
  39. <Logger name="exception" level="error" additivity="false">
  40. <AppenderRef ref="ExceptionLog"/>
  41. </Logger>
  42.  
  43. <Root level="info">
  44. <AppenderRef ref="STDOUT"/>
  45. <AppenderRef ref="FILE"/>
  46. </Root>
  47. <Logger name="com.garfield.learn" level="debug"/>
  48. <Logger name="com.garfield.learnp" level="info"/>
  49. </Loggers>
  50.  
  51. </Configuration>

done.

log4j2.xml配置及例子的更多相关文章

  1. log4j2.xml 配置

    动态生成日志, 日志路径: log4j2.xml 配置如下: <?xml version="1.0" encoding="UTF-8"?> < ...

  2. log4j2.xml配置使用

    jar包: log4j-api-2.10.0.jar log4j-core-2.10.10.jar log4j-1.2-api-2.10.0.jar log4j-slf4j-impl-2.10.10. ...

  3. SpringBoot—整合log4j2入门和log4j2.xml配置详解

    关注微信公众号:CodingTechWork,一起学习进步. 引言   对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...

  4. log4j2.xml配置,导致启动报错

    项目中遇到问题,当使用tomcat启动时,没问题:当使用内置tomcat启动时却报错,找不到日志路径. 变量位置: <properties> <property name=" ...

  5. 关于Spring的Quartz的xml配置的例子

    <span style="font-size:16px"></span><h3><span style="font-family ...

  6. log4j2.xml 的配置 及使用

     log4j2.xml配置 <?xml version="1.0" encoding="UTF-8"?> <Configuration > ...

  7. 聊一聊log4j2配置文件log4j2.xml

    一.背景 最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置(使用Slf4j集成Log4j2构建项目日志系统的完美解决方 ...

  8. Ninject之旅之五:Ninject XML配置

    摘要 使用XML配置,需要添加Ninject XML扩展的引用.下一步是添加一个或多个包含类型注册的XML文件.记得这些文件应该跟应用程序一起发布.因此不要忘记将XML文件的属性设置成“Copy if ...

  9. Ehcache3.4 XML配置硬盘存储

    最近开始学习使用Ehcache, 3.4的文档实在过于简单,尤其是对于XML配置,例子太少.相对于硬编码,我更偏爱灵活的XML配置,为了实现xml配置,摸索了两天,终于运行成功. ehcache.xm ...

随机推荐

  1. C# 读书笔记之类与结构体

    类和结构体都包括数据和操作数据的方法 类的定义形式 class PhoneCustomer{public const string DayOfSendingBill = "Monday&qu ...

  2. java 读取excel 正常 xls

    package com.sun.test; import java.io.BufferedInputStream;import java.io.File;import java.io.FileInpu ...

  3. HDU 1054 Strategic Game(无向二分图的最大匹配)

    ( ̄▽ ̄)" //凡无向图,求匹配时都要除以2 #include<iostream> #include<cstdio> #include<algorithm&g ...

  4. Android常用Permission

    位置相关: android.permission.WRITE_GSERVICES 允许程序修改Google服务地图(Allows an application to modify the Google ...

  5. java中的基本数据类型的转换

    本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/37001 ...

  6. LeetCode OJ 74. Search a 2D Matrix

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  7. Just do it!!!

    从今日起,开个开发自己个人轻量级博客,加油!!!!!

  8. erlang nif小结

    一.nif获取string参数的两种方式 1.eif_get_string 实例如下: static ERL_NIF_TERM erl_sm4_encrypt(ErlNifEnv* env, int ...

  9. Keyboard Test Utility v1.0.1.0 电脑键盘测试软件绿色版

    软件名称: 电脑键盘测试软件绿色版软件语言: 简体中文授权方式: 免费软件运行环境: Win8 / Win7 / Vista / WinXP软件大小: 917KB图片预览: 软件简介:Keyboard ...

  10. PeekMessage与GetMessage的对比

    PeekMessage与GetMessage的对比相同点:PeekMessage函数与GetMessage函数都用于查看应用程序消息队列,有消息时将队列中 的消息派发出去. 不同点:无论应用程序消息队 ...