日志框架学习(log4j2+slf4j)
现在比较吊的就是这个log4j2这个日志框架了,功能强悍.slf4j是个日志框架的统一接口,方便扩展,切换框架啥的.
配置SSM+log4J2+SL4J
https://blog.csdn.net/chy2z/article/details/80080580
一般常用的使用方式
public class JavaTest {
private final static Logger logger = LoggerFactory.getLogger(JavaTest.class);
public static void main(String[] args) {
logger.error("a{}b{}c",1,"2");
}
}
有关日志配置文件三篇比较强悍的博客
https://blog.csdn.net/yangshangwei/article/details/75146896
https://www.cnblogs.com/hafiz/p/6170702.html
https://www.cnblogs.com/SummerinShire/p/6498977.html
正八经儿吊的还是去这看 https://logging.apache.org/log4j/2.x/
项目中一个大神老哥写的
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="60">
<Appenders>
<Console name="stdout" target="SYSTEM_OUT">
<PatternLayout
pattern="%date{DEFAULT} |%-20.20thread |%-30.30logger{1}|%level{length=1}| %message%n" />
</Console>
<RollingFile name="ofbiz" fileName="runtime/logs/ofbiz.log"
filePattern="runtime/logs/ofbiz-%d{yyyy-MM-dd}-%i.log">
<PatternLayout
pattern="%date{DEFAULT} |%-20.20thread |%-30.30logger{1}|%level{length=1}| %message%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="1 MB" />
</Policies>
<DefaultRolloverStrategy max="10" />
</RollingFile>
<RollingFile name="error" fileName="runtime/logs/error.log"
filePattern="runtime/logs/error-%d{yyyy-MM-dd}-%i.log">
<ThresholdFilter level="error" onMatch="ACCEPT"
onMismatch="DENY" />
<PatternLayout
pattern="%date{DEFAULT} |%-20.20thread |%-30.30logger{1}|%level{length=1}| %message%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="1 MB" />
</Policies>
<DefaultRolloverStrategy max="3" />
</RollingFile>
<RollingFile name="sql" fileName="runtime/logs/sql.log"
filePattern="runtime/logs/sql-%d{yyyy-MM-dd}-%i.log">
<PatternLayout
pattern="%date{DEFAULT} |%-20.20thread |%-30.30logger{1}|%level{length=1}| %message%n" />
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="1 MB" />
</Policies>
<DefaultRolloverStrategy max="3" />
</RollingFile>
<Async name="async">
<AppenderRef ref="ofbiz" />
<AppenderRef ref="stdout" />
<AppenderRef ref="error" />
</Async>
<Async name="sqlAsync">
<AppenderRef ref="sql" />
</Async>
</Appenders>
<Loggers>
<logger name="org.ofbiz.base.converter.Converters" level="warn" />
<logger name="org.apache" level="warn" />
<logger name="freemarker" level="warn" /> <!-- sql 以及耗费的执行时间 -->
<logger name="jdbc.sqltiming" level="WARN" additivity="false">
<appender-ref ref="sqlAsync" />
</logger>
<!-- 只有sql,没有执行时间 -->
<logger name="jdbc.sqlonly" level="OFF" additivity="false">
<appender-ref ref="sqlAsync" />
</logger>
<!-- 执行之后的返回结果 -->
<logger name="jdbc.resultsettable" level="OFF" additivity="false">
<appender-ref ref="sqlAsync" />
</logger>
<logger name="jdbc.resultset" level="OFF" additivity="false">
<appender-ref ref="sqlAsync" />
</logger>
<!-- 能看到数据库的连接数 -->
<logger name="jdbc.connection" level="OFF" additivity="false">
<appender-ref ref="sqlAsync" />
</logger>
<logger name="jdbc.audit" level="OFF" additivity="false">
<appender-ref ref="sqlAsync" />
</logger> <Root level="all">
<AppenderRef ref="async" />
</Root>
</Loggers>
</Configuration>
简单来说结构就是这样
日志配置
日志定义
输出位置1
输出位置2
输出位置3
输出位置4
异步输出1
输出位置1
输出位置2
输出位置3
异步输出2
输出位置4
日志配置
配置包中的日志输出级别1(默认为root配置)
配置包中的日志输出级别2(默认为root配置)
配置包中的日志输出级别3(使用异步输出2中的配置)
配置包中的日志输出级别3(使用异步输出2中的配置)
root配置(使用异步输出1的配置)
日志框架学习(log4j2+slf4j)的更多相关文章
- springboot日志框架学习------slf4j和log4j2
springboot日志框架学习------slf4j和log4j2 日志框架的作用,日志框架就是用来记录系统的一些行为的,可以通过日志发现一些问题,在出现问题之后日志是好的一个帮手. 市面上的日志框 ...
- 日志框架之2 slf4j+logback实现日志架构 · 远观钱途
如何从缤纷复杂的日志系统世界筛选出适合自己的日志框架以及slf4j+logback的组合美妙之处?此文可能有帮助 logback介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网 ...
- 拨云见日,彻底弄清楚Java日志框架 log4j, logback, slf4j的区别与联系
log4j 以及 logback, slf4j 官网 日志框架的困惑 作为一个正常的项目,是必须有日志框架的存在的,没有日志,很难追踪一些奇奇怪怪的系统问题. 但是,我们经常在项目的依赖中,见到奇奇怪 ...
- Java日志框架 (commons-logging,log4j,slf4j,logback)
转自:http://blog.csdn.net/kobejayandy/article/details/17335407 如果对于commons-loging.log4j.slf4j.LogBack等 ...
- Log4j日志框架学习零到壹(一)
日志是系统开发过程中用于排查问题重要的记录.通常使用日志来记录系统运行的行为,什么时间点发生了什么 事情.Java中常用的莫过于Log4j框架了.下面主要围绕Log4j的基础知识.Log4j的使用方式 ...
- Java日志框架(Commons-logging,SLF4j,Log4j,Logback)
简介 在系统开发中,日志是很重要的一个环节,日志写得好对于我们开发调试,线上问题追踪等都有很大的帮助.但记日志并不是简单的输出信息,需要考虑很多问题,比如日志输出的速度,日志输出对于系统内存,CPU的 ...
- Java 日志框架概述(slf4j / log4j / JUL / Common-logging(JCL) / logback)
一.简介 JAVA日志在初期可能官方并没有提供很好且实用的规范,导致各公司或OSS作者选择自行造轮子,这也导致了目前初学者觉得市面上 Java 日志库繁杂的局面. 现在市面流行以 slf4j(Simp ...
- log4j日志框架学习
初识Log4j: log4j有三个部分: 1.loggers 负责捕获日志信息. 2.appenders 负责输出信息到不同的目的地 ...
- Spring源码学习:第2步--使用SLF4j+Log4j日志框架替换掉其自身的commons-logging日志框架
正如Spring官方文档所述,其底层的实现选择了commons-logging作为日志框架.这一"失足"性的选择,竟连Spring自身都抱怨.但是,谁叫Spring如此优秀呢,即使 ...
随机推荐
- Dij_heap__前向星。
//前向星 struct node { int nxt; int val; int lst; node () {} node (int next, int value) : nxt(next), va ...
- 人工智能-Selenium
Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mozilla Suite等 ...
- guling code细节
detect_hand.py 分水岭算法: 任何一幅灰度图像都可以被看成拓扑平面,灰度值高的区域可以被看成是山峰,灰度值低的区域可以被看成是山谷.我们向每一个山谷中灌不同颜色的水,随着水的位的升高,不 ...
- 2017.4.5 OpenStack简介
OpenStack 管理的资源不是单机的而是一个分布的系统,把分布的计算.存储.网络.设备.资源组织起来,形成一个完整的云计算系统:OpenStack 也提供一个 UI,这里包括一个图形化的 UI:H ...
- JPI中常使用的类介绍:
Math类: java.lang包下的 final,不可被继承, 其中的方法和属性都是静态的 其构造方法私有化了,其他类不可以使用构造方法. 向上取整:Math.ceil(double d); 向下取 ...
- java 类方法和实例方法 以及 类变量和实例变量 各种区别
我们已经知道类体中的方法分为实例方法和类方法两种,用static修饰的是类方法.二者有什么区别呢?当一个类创建了一个对象后,这个对象就可以调用该类的方法. 当类的字节码文件被加载到内存时,类的实例方法 ...
- LG3809 【模板】后缀排序
题意 题目背景 这是一道模板题. 题目描述 读入一个长度为 $ n $ 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的 ...
- LG4071 [SDOI2016]排列计数
题意 题目描述 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 i,则称 i 是稳定的.序列恰好有 m 个数是稳定的 ...
- Centos6.7 64位安装配置kvm虚拟化
首先,需要我们的cpu支持虚拟化,有的机器支持但是并未在bios开启,这个需要事先开启. 1. Dell R710安装centos6.7 64位 ,Dell R710在开机后按F2进入BIOS,Pro ...
- 24 正则表达式 re模块
一.正则表达式 1.字符组 ① [abc] 匹配a或b或c ② [a-z] 匹配a到z之间的所有字⺟ [0-9]匹配所有阿拉伯数字 2.元字符 3.量词 4.重要搭配 ① .*? ② .*?x ...