当前位置:首页>财经>正文

log4j.xml中spring配置怎么弄 Log4j的使用和怎么在spring中集成log4j

2023-07-30 04:06:38 互联网 未知 财经

 log4j.xml中spring配置怎么弄 Log4j的使用和怎么在spring中集成log4j

log4j.xml中spring配置怎么弄

比较基本的:
#rootLogger是所有日志的根日志,修改该日志属性将对所有日志起作用
#下面的属性配置中,所有日志的输出级别是info,输出源是console
log4j.rootLogger=info,console
#定义输出源的输入位置是控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
#定义输出日志的布局采用的类
log4j.appender.console.layout=org.apache.log4j.PatternLayout
#定义输出日志布局
log4j.appender.console.layout.ConversionPattern=%d%p[%c] - %m%n

Log4j的使用和怎么在spring中集成log4j

简单的说log4j就是帮助开发人员进行日志输出管理的API类库。它最重要的特点就
  可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。
  Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息。程序员经常会遇到脱离java ide环境调试程序的情况,这时大多数人会选择使用System.out.println语句输出某个变量值的方法进行调试。这样会带来一个非常麻烦的问题:一旦哪天程序员决定不要显示这些System.out.println的东西了就只能一行行的把这些垃圾语句注释掉。若哪天又需调试变量值,则只能再一行行去掉这些注释恢复System.out.println语句。使用log4j可以很好的处理类似情况。
  log4j使用方法
  下面介绍的是log4j一些理论方面的知识,读者觉得枯燥的话可以跳过本节直接阅读第三节实例部分。
  1、定义配置文件
  首先使用配置文件将使我们的应用程序更加灵活配置log日志输出方式包括输出优先级、输出目的地、输出格式。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是Java特性文件log4j.properties(键=值)。下面将介绍使用log4j.properties文件作为配置文件的方法:
  ①配置根Logger,其语法为:0
  log4j.rootLogger = [ level ] , appenderName, appenderName, …
  其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指定日志信息输出到哪个地方。可同时指定多个输出目的地。

spring 怎么使用 log4j

Log4j中有三个主要的组件,它们分别是 Logger、Appender和Layout,Log4j 允许开发人员定义多个Logger,每个Logger拥有自己的名字,Logger之间通过名字来表明隶属关系。有一个Logger称为Root,它永远 存在,且不能通过名字检索或引用,可以通过Logger.getRootLogger()方法获得,其它Logger通过 Logger.getLogger(String name)方法。
Appender则是用来指明将所有的log信息存放到什么地方,Log4j中支持多种appender,如 console、files、GUI components、NT Event Loggers等,一个Logger可以拥有多个Appender,也就是你既可以将Log信息输出到屏幕,同时存储到一个文件中。
Layout的作用是控制Log信息的输出方式,也就是格式化输出的信息。
Log4j中将要输出的Log信息定义了5种级别,依次为DEBUG、INFO、WARN、ERROR和FATAL,当输出时,只有级别高过配置中规定的 级别的信息才能真正的输出,这样就很方便的来配置不同情况下要输出的内容,而不需要更改代码,这点实在是方便啊。

3、Log4j的配置文件
虽然可以不用配置文件,而在程序中实现配置,但这种方法在如今的系统开发中显然是不可取的,能采用配置文件的地方一定一定要用配置文件。Log4j支持两 种格式的配置文件:XML格式和Java的property格式,本人更喜欢后者

springmvc怎么配置log4j2


增加pom配置,让maven加载log4j包
org.slf4j
slf4j-log4j12
1.7.2
修改web.xml,把log4j加到项目中
log4jConfigLocation
classpath:/log4j/log4j.xml

org.springframework.web.util.Log4jConfigListener
根据web.xml配置的路径,在src/main/resource目录下新建log4j/log4j.xml


经过上面的步骤后,log4j就配置好了,接下来是使用,在DemoController中使用,使用slf4j接口,代替log4j,这样假如以后不用log4j了,用logback等其它日志框架,只需修改配置文件,不需要修改java代码
package com.my1.controller
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.stereotype.Controller
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.servlet.ModelAndView
@Controller
public class DemoController {
private static Logger logger = LoggerFactory.getLogger(DemoController.class)
@RequestMapping(value = "/toPage1.htm")
public ModelAndView toPage1() {
logger.debug("TEST")
return new ModelAndView("page1")
}
}

由于用了springmvc框架,日志配置好后,会输出很多spring日志,在log4j.xml中,增加一段配置,修改spring包的日志输出级别


log4j的自定义输出格式说明


log4j的输出方式说明

spring怎么代理日志?Logger 需要配置log4j.xml吗??

log4j.xml和log4j.proterties文件二选一
然后在web.xml中配置log4j监听器就可以了
org.springframework.web.util.Log4jConfigListener
最后程序里就可以用了