现在比较吊的就是这个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)的更多相关文章

  1. springboot日志框架学习------slf4j和log4j2

    springboot日志框架学习------slf4j和log4j2 日志框架的作用,日志框架就是用来记录系统的一些行为的,可以通过日志发现一些问题,在出现问题之后日志是好的一个帮手. 市面上的日志框 ...

  2. 日志框架之2 slf4j+logback实现日志架构 · 远观钱途

    如何从缤纷复杂的日志系统世界筛选出适合自己的日志框架以及slf4j+logback的组合美妙之处?此文可能有帮助 logback介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网 ...

  3. 拨云见日,彻底弄清楚Java日志框架 log4j, logback, slf4j的区别与联系

    log4j 以及 logback, slf4j 官网 日志框架的困惑 作为一个正常的项目,是必须有日志框架的存在的,没有日志,很难追踪一些奇奇怪怪的系统问题. 但是,我们经常在项目的依赖中,见到奇奇怪 ...

  4. Java日志框架 (commons-logging,log4j,slf4j,logback)

    转自:http://blog.csdn.net/kobejayandy/article/details/17335407 如果对于commons-loging.log4j.slf4j.LogBack等 ...

  5. Log4j日志框架学习零到壹(一)

    日志是系统开发过程中用于排查问题重要的记录.通常使用日志来记录系统运行的行为,什么时间点发生了什么 事情.Java中常用的莫过于Log4j框架了.下面主要围绕Log4j的基础知识.Log4j的使用方式 ...

  6. Java日志框架(Commons-logging,SLF4j,Log4j,Logback)

    简介 在系统开发中,日志是很重要的一个环节,日志写得好对于我们开发调试,线上问题追踪等都有很大的帮助.但记日志并不是简单的输出信息,需要考虑很多问题,比如日志输出的速度,日志输出对于系统内存,CPU的 ...

  7. Java 日志框架概述(slf4j / log4j / JUL / Common-logging(JCL) / logback)

    一.简介 JAVA日志在初期可能官方并没有提供很好且实用的规范,导致各公司或OSS作者选择自行造轮子,这也导致了目前初学者觉得市面上 Java 日志库繁杂的局面. 现在市面流行以 slf4j(Simp ...

  8. log4j日志框架学习

    初识Log4j:      log4j有三个部分:           1.loggers 负责捕获日志信息.           2.appenders  负责输出信息到不同的目的地         ...

  9. Spring源码学习:第2步--使用SLF4j+Log4j日志框架替换掉其自身的commons-logging日志框架

    正如Spring官方文档所述,其底层的实现选择了commons-logging作为日志框架.这一"失足"性的选择,竟连Spring自身都抱怨.但是,谁叫Spring如此优秀呢,即使 ...

随机推荐

  1. Jaxb对xml报文头的小修小改

    前言: 也是在实际工作中, 借助jaxb来实现xml到java对象的映射转换. 在实际应用中, 也遇到了一些有趣好玩的东西, 权当记录下来. 本文主要讲解jaxb如何生成约定的xml报文头的实现思路, ...

  2. 【leetcode】27-RemoveElement

    problem RemoveElement class Solution { public: int removeElement(vector<int>& nums, int va ...

  3. 使用matlab和ISE 创建并仿真ROM IP核

    前言 本人想使用简单的中值滤波进行verilog相关算法的硬件实现,由于HDL设计软件不能直接处理图像,大部分过程都是可以将图像按照一定的顺序保存到TXT文档中,经过Modelsim仿真后,处理的数据 ...

  4. java-常见修饰符汇总

    1.修饰符: - 权限修饰符:private,默认的,protected,public - 状态修饰符:static,final - 抽象修饰符:abstract 2.类: - 权限修饰符:默认修饰符 ...

  5. HTML中嵌套的子frame如何访问父页面中的函数?

    我解决的办法,在父页面写了个函数,然后在frame页面调用父页面的函数,具体代码如下: 父:function a(){} 子frame:window.parent.a(); 问题迎刃而解 https: ...

  6. SenjuFamily项目总结 之 Activiti 学习总结(一)

    项目干了一年了,最近开始整理一下项目中用到的知识,算是年末总结了. 大概有如下几个点: 1.Actitivi 2.JPA 3.WebService 4.JVM使用以及代码优化(这个地方,主要参考周志明 ...

  7. python3 sort

    #https://docs.python.org/3.5/howto/sorting.html?highlight=sort #In Python 3.2, the functools.cmp_to_ ...

  8. 【UOJ#22】【UR#1】外星人

    2044年,Picks建成了人类第一台基于量子理论的银河系信息传递机. Picks游遍了宇宙,雇用了 n 个外星人来帮他作为信息传递机的中转站.我们将外星人依次编号为 1 到 n,其中 i 号外星人有 ...

  9. CSV文件保存为utf8编码格式

    csv格式文件经常用来批量导入数据到某些应用中,但是经常出现utf8乱码问题,那么该如何解决呢? WPS找不到编码格式设置,微软的office软件有,不过我使用的是libreoffice 步骤如下 1 ...

  10. List接口的使用方法

    ★List接口特点: 1.元素存储有序的集合 2.带索引的集合 3.集合中可以有重复的元素 4.常用的子类有ArrayList ,  LinkedList ★List接口的方法:add   , rem ...