log4j

idea工具java日志 Log4j+slf4j使用

元气小坏坏 提交于 2020-03-01 03:33:24
参考博文: http://www.blogjava.net/zzzlyr/articles/353039.html 这几天一直在用logger记录日志,但一直不明白log4j.properties配置文件意思,下面看看其他博主文章给自己充充电。 本人认为日志记录不仅可以帮记录执行结果,看代码执行是否正常,并且在排查问题时也能很快帮助你定位有问题代码。 一、介绍 Log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。 Log4j由三个重要的组件构成: loggers: 负责捕获记录信息, 日志信息的优先级 。 appenders : 负责发布日志信息, 日志信息的输出目的地 。 layouts: 负责格式化不同风格的日志信息, 日志信息的输出格式 。 从源码角度深入分析log4j配置文件使用: http://www.cnblogs.com/davidwang456/p/4243161.html 注意: 1、日记记录的优先级(低到高) : # 控制台显示的内容是

配置log4j输出指定类中的日志信息到指定的位置

情到浓时终转凉″ 提交于 2020-03-01 03:12:28
log4j.properties配置文件 ===================================================================================== log4j.logger.project.javase.com.martin.lang.Product=INFO,A log4j.appender.A=org.apache.log4j.ConsoleAppender log4j.appender.A.layout=org.apache.log4j.PatternLayout log4j.appender.A.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c]-[%p] %m%n 那么此时的appender A能将类project.javase.com.martin.lang.Product中info级别以上的日志打印到控制台上,当然这里我们一般会将日志打印到一个指定的文件中去 新的发现: 由于spring也会加载 log4j .properties,如果加载不到就往控制台打log信息,总觉得有些碍眼,于是想办法去掉。Spring提供了一个Log4jConfigListener,本身就能通过web.xml中配置来指定位置加载log4j配置文件和log输出路径

java日志组件(common-logging slf4j log4j logback)

不问归期 提交于 2020-02-29 09:54:56
一、日志接口(common-loggin&slf4j) ---------------------------------------- common-logging----------------------------------------- common-logging 是apache提供的一个通用的日志接口。用户可以自由选择第三方的日志组件作为具体实现,像log4j,或者jdk自带的logging, common-logging会通过 动态查找的机制 ,在程序运行时自动找出真正使用的日志库。当然,common-logging内部有一个Simple logger的简单实现,但是功能很弱。所以使用common-logging,通常都是配合着log4j来使用。使用它的好处就是,代码依赖是common-logging而非log4j, 避免了和具体的日志方案直接耦合,在有必要时,可以更改日志实现的第三方库,缺点由于其实通过 ClassLoader 动态加载,OSGI在不同组件中类加载器不同,common-logging就无法满足需求。 使用common-logging的常见代码: import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class A {

纯Java配置使用slf4j配置log4j

南笙酒味 提交于 2020-02-29 08:19:16
工程目录如下 代码里面用的是slf4j,但是想要用log4j来管理日志,就得添加slf4j本来的jar,然后添加log4j和slf4j箱关联的jar即可。 如果是maven项目的话添加下面的依赖即可 <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </dependency> 注意,因为没有写log4j的加载路径, 所以一定要写在src的下一级 ,中间不能有其他的文件夹或包,不然就不起作用了,单独用log4j的时候也要直接放在src,不能随意乱放。 log4j.properties ### 设置### log4j.rootLogger

log4j in Tomcat lib and in Each Webapp

这一生的挚爱 提交于 2020-02-29 06:52:31
问题 I am using Apache Jackrabbit as a content repository for a couple of web applications deployed to a single tomcat container. To get jackrabbit as a jndi resource I have added the jackrabbit jar and all it's dependencies (which includes slf4j and log4j) in tomcat/lib to make it available to all my web apps. However there is a problem with logging... On start up log4j complains that there are no appends found: log4j:WARN No appenders could be found for logger (org.apache.jackrabbit.core.config

Java日志介绍(3)-Logback

别说谁变了你拦得住时间么 提交于 2020-02-28 11:32:03
Logback 继承自Log4j,它建立在有十年工业经验的日志系统之上。它比其它所有的日志系统更快并且更小,包含了许多独特并且有用的特性。 1、配置 1.1、加载配置 Logback能够在初始化期间自动查找配置文件进行配置;按照优先级查找配置文件直到找到,优先级如下: 1、查找系统属性logback.configurationFile对应的配置文件 2、在classpath下查找logback-test.xml 3、在classpath下查找logback.groovy 4、在classpath下查找logback.xml 5、通过JDK提供的ServiceLoader工具在类路径下寻找文件META-INFO/services/ch.qos.logback.classic.spi.Configurator,该文件的内容为实现了Configurator接口的实现类的全限定类名 6、如果以上都没有成功,logback会通过BasicConfigurator为自己进行配置,并且日志将会全部在控制台打印出来。 1.2、自动更新配置 在 <configuration> 标签上添加 scan=true 属性,可以让Logback自动定期扫描配置文件;默认一分钟扫描一次配置文件, <configuration> 标签上的 scanPeriod 属性可以指定扫描周期。扫描周期的时间单位可以是毫秒

开源商城开发笔记2-创建MyBatis示例

ぃ、小莉子 提交于 2020-02-28 10:30:45
一、修改pom.xml,引入MyBatis,JUnit,Log4j <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.4</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.48</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.30</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j<

「故事系列」小故事说清楚什么是日志框架

这一生的挚爱 提交于 2020-02-28 07:00:33
有天上飞的概念,就要有落地的实现 大哥大姐新年好,点赞转发不要少 文本已收录至GitHub开源仓库 Lu_JavaNodes 码云仓库地址 Lu_JavaNodes ,包含教程涉及所有思维导图,案例代码和后续讲解视频,欢迎Star增砖添瓦。 本文阅读技术要求:见过日志 没见也不要慌,如下图,这就是日志,好了,你见过了。 一个小故事说清楚日志框架 日志的作用 记录系统中的操作 记录系统的运行状况 系统错误时候,根据日志分析原因 故事开始 在一家IT企业中,项目经理虎大力(龙套) 正在指挥 程序员鹿小明(精英龙套)开发一个大型的增删改查项目。为了开发这个项目。项目组仅有的程序员鹿小明每天工作996 故事进入 V1.0 环节 one day,虎大力给鹿小明提出来一个新的需求,为了更好的进行公司的信息化建设,虎大力想要看到代码执行的情况,执行到某个业务的时候在控制台有所表示,例如:执行到查询方法的时候,需要在控制台上出现,这是一个打印方法的信息。 鹿小明一想,这好办啊,本来自己为了调试测试方便就写过很多打印语句,现在无非更多而已。于是就加班加点在所有的增删改查方法中都写了 System.out.println() 打印语句。顺利完成了这个工作。 故事进入 V2.0 环节 一段时间岁月静好 one day,虎大力找到鹿小明:你这个代码里面 System.out.println() 太多了

Spring 5 how to use Log4jConfigListener

梦想的初衷 提交于 2020-02-28 06:09:48
问题 In the past, i used to spring 4.3.8 version, i used to Log4j config in web.xml like below code, <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:/log4j-${spring.profiles.active}.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> Currently, i trying to use spring 5.0.7 version but, i can't use Log4jConfigListener i realized Log4jConfigListener is not exist in spring 5.x

Spring 5 how to use Log4jConfigListener

柔情痞子 提交于 2020-02-28 06:09:13
问题 In the past, i used to spring 4.3.8 version, i used to Log4j config in web.xml like below code, <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:/log4j-${spring.profiles.active}.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> Currently, i trying to use spring 5.0.7 version but, i can't use Log4jConfigListener i realized Log4jConfigListener is not exist in spring 5.x