【Java】捣鼓Java日志的一点小收获

好吧,这是我第一篇写的Java相关的blog。

最近项目里面的Log各种混乱,忍无可忍就去研究了一波,还是有那么一些收获的。

我们用slf4j作为facade,实现运行时配置日志框架。

首先是依赖的配置。

  1. slf4j-api
  2. binding: 告诉slf4j,要用什么作为underlying framework
  3. implementation

如果要用log4j2,那么首先要找到log4j2的binding依赖

然后根据log4j2官网的dependency tree加入log4j-core

具体就是看我的gitlab project吧

只有我自己能看好吧

懒得写了

还有一种方法就是用slf4j-log4j12当binding,前面加上log4j-1.2-api, class载入的时候用1.2-api盖掉binding里面的相关东西,就把slf4j-log4j12变成一个log4j2 binding。注意顺序不能反。不过这也太丑了,所以就注释掉了。

binding只能有一个,如果在别的依赖里还有别的binding,要手动在pom里面exclude

 

时间: 2024-08-26 13:58:48

【Java】捣鼓Java日志的一点小收获的相关文章

Java学习:动态代理的一点小理解

手动实现 之前的一篇讲IoC的博文提到了代理模式,事实上代理模式就是AOP实现的重要基石.但是上面的代码有一个显而易见的缺陷,也就是之前讲解反射内容时提到的:不具备动态性. 上面代码中的Server就像是反射理解博文中提到的工厂订单管理员一样,每增加一样菜系,就需要相应更新手上的菜单.类比反射特性,我们完全可以做到让服务员不需要手上拿着菜单来为顾客服务: // 服务员实现类 public class ServerImpl implements Server { // 采用组合的方式引入noodl

每次回顾,总会有一点小收获!

一.$a = 0; $a[] = 2; // 不能将标量值用作数组 PHP Warning: Cannot use a scalar value as an array $arr = ['1', '2']; foreach($arr as $k=>$v){ if($k == 0){ $adm = '3333'; }else if($k == 1){ $adm[] = 'test'; // PHP致命错误:Uncaught error:[]运算符不支持/code/main中的字符串.PHP Fat

java的循环中try catch的一点小技巧

在循环中如果有异常被catch住,但是同时不想中断循环可以这样: for(int i=-1;i<3;i++){     try { System.out.println("result ="+i);            if(1/i!= 0){              System.out.println("result ="+i);            }      } catch (Exception e) {          e.printSta

【java】java自带的java.util.logging.Logger日志功能

偶然翻阅到一篇文章,注意到Java自带的Logger日志功能,特地来细细的看一看,记录一下. 1.Java自带的日志功能,默认的配置 ①Logger的默认配置,位置在JRE安装目录下lib中的logging.properties中 ②logging.properties日志文件内容如下: ############################################################ # Default Logging Configuration File # # You

Java图形界面开发—简易登录注册小程序

登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的地方,详见其它博客. Java程序操作数据库SQLserver详解 功能介绍:简单的登录注册系统,使用了数据库sqlserver.单例模式.正则表达式以及图形化开发等知识. 1.在登录界面,可以登录或者注册用户. 注册用户界面,按照正则表达式规定的格式要求来输入信息,若有误,则重新输入. 2.点击注册,首先连接SQLserver数据库,连接成功则会判断该用户名是否已经存在,若存在,则给出提示.反之则进行注册

java编程的一个猜数字有趣小游戏

import javax.swing.Icon; import javax.swing.JOptionPane; public class ai { /** * @param args */ public static void main(String[] args) { Icon icon = null; boolean bl = false; int put = 0; int c = (int) (((Math.random())*100)+1); //获取一个1-100的随机数 Syste

Atitit php java python nodejs错误日志功能的比较

Atitit php  java  python  nodejs错误日志功能的比较 1.1. Php方案 自带 1 1.2. Java解决方案 SLF4J 1 1.3. Python解决方案 自带loggin 2 1.4. Node.js日志解决方案 log4js 2 1.4.1. 玩转Nodejs日志管理log4js - CNode技术社区 2 日志的俩中模式   文件日志与os event 日志.. Os日志的优点是格式整齐.以及有默认os工具gui故居查询等.. 1.1. Php方案 自带

Java程序员学习的6个小技巧

Java程序员学习的6个小技巧 知识改变命运,对于Java程序员来说,技术不断更新,只有及时充电,才能不被市场淘汰.北京Java培训机构分享Java程序员学习的6个小技巧兄弟连IT教育作为全国最大的PHP培训机构,迄今已有10年的教育历史,7大特色课程:PHP教程.安卓培训.JAVAEE+大数据.UI设计.HTML5培训.云计算架构师,全栈工程师培训,在目前IT市场特别火,每门课程都由名师牵头,以认认真真的态度做教育,培养的学员过万,在学员心中树立了良好的口碑. 1.一定要看书 现在学习Java

Java EE : 二、图解 Cookie(小甜饼)

目录 Java EE : 一.图解Http协议 Java EE : 二.图解 Cookie(小甜饼) Java EE : 三.图解Session(会话) 概述 一.概述 二.详细介绍Cookie 传输过程 三.谈Cookie的作用到XSS(跨站点脚本攻击) 四.总结 参考 一.概述 首先从HTTP说起,Cookie是Http协议中那部分呢? Cookie是什么? 自问自答:Cookie是请求头域和响应头域的字段.简单地说,就是伴随请求和响应的一组键值对的文本,小文本.所以称之为”Cookie“饼