使用log4j在控制台中无需额外的日志记录 [英] No extra logging in the console with log4j
问题描述
我是这个日志记录方面的新手,我想看看从春季开始的日志记录,以查看所有创建的bean.
因此,我想尝试使用log4j
进行日志记录,但控制台中没有多余的loggin出现.
我按照一些示例进行记录.
这是我的配置:
I'm new at this logging stuff and i want see logging from spring to see all the beans created.
So I want to try logging with log4j
but no extra loggin appear in the console.
I follow some example to make my logging.
Here's my configuration :
pom.xml
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-rc2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-rc2</version>
</dependency>
log4j.properies
log4j.properies
# Root logger option
log4j.rootLogger=INFO, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.logger.org.springframework=INFO,stdout
我的控制器类
//Import log4j classes.
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
@Transactional
@Controller
public class Inscription {
...
static final Logger logger = LogManager.getLogger(Inscription.class);
...
@RequestMapping(value="/")
public String Test(ModelMap model) {
...
//log it via log4j
logger.debug(model);
...
}
}
是否已加载log4j.property? (我两次确认)
is the log4j.property loaded ? (i put it twice to make sure)
这是什么意思,需要进行记录还是仅log4j.property
就足够了?
what mean this logger.debug(model);
is it requierd to make logging or just log4j.property
is enough ?
推荐答案
我已经在classpath
(src
文件夹)中创建了一个 log4j2.xml ,它将由log4j自动检测到
I have created a log4j2.xml in classpath
(src
folder) it will detect automatically by log4j
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Root level="ALL">
<AppenderRef ref="CONSOLE"/>
</Root>
<Logger name="controller" level="ALL" >
<AppenderRef ref="CONSOLE"/>
</Logger>
</Loggers>
</Configuration>
这篇关于使用log4j在控制台中无需额外的日志记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!