[英]Logging Hibernate in spring boot
Please tell me. 请告诉我。 I have a project on Spring-boot. 我有一个关于Spring-boot的项目。 I'm trying to configure logging in the java code. 我正在尝试在Java代码中配置日志记录。 The problem is that I understand how to configure synchronous logging application and Hibernate SQL. 问题是我了解如何配置同步日志记录应用程序和Hibernate SQL。 Here my configuration class for logging app and its works fine: 在这里,我的日志记录应用程序的配置类及其工作正常:
@Service
public class Slf4j {
@Bean(name = "logger")
public Logger getLogger() {
LoggerContext logCtx = (LoggerContext) LoggerFactory.getILoggerFactory();
Logger log = logCtx.getLogger(Logger.ROOT_LOGGER_NAME);
log.setAdditive(false);
log.setLevel(Level.INFO);
log.addAppender(initConsoleLogger(logCtx));
log.addAppender(initFileLogger(logCtx));
return log;
}
private RollingFileAppender initFileLogger(LoggerContext logCtx) {
PatternLayoutEncoder logEncoder = new PatternLayoutEncoder();
logEncoder.setContext(logCtx);
logEncoder.setPattern("%-12date{YYYY-MM-dd HH:mm:ss.SSS} %-5level - %msg%n");
logEncoder.start();
RollingFileAppender logFileAppender = new RollingFileAppender();
logFileAppender.setContext(logCtx);
logFileAppender.setName("logFile");
logFileAppender.setEncoder(logEncoder);
logFileAppender.setAppend(true);
logFileAppender.setFile("logs/logfile.log");
TimeBasedRollingPolicy logFilePolicy = new TimeBasedRollingPolicy();
logFilePolicy.setContext(logCtx);
logFilePolicy.setParent(logFileAppender);
logFilePolicy.setFileNamePattern("logs/logfile-%d{yyyy-MM-dd_HH}.log");
logFilePolicy.setMaxHistory(7);
logFilePolicy.start();
logFileAppender.setRollingPolicy(logFilePolicy);
logFileAppender.start();
return logFileAppender;
}
private ConsoleAppender initConsoleLogger(LoggerContext logCtx) {
PatternLayoutEncoder logEncoder = new PatternLayoutEncoder();
logEncoder.setContext(logCtx);
logEncoder.setPattern("%-12date{YYYY-MM-dd HH:mm:ss.SSS} %-5level - %msg%n");
logEncoder.start();
ConsoleAppender logConsoleAppender = new ConsoleAppender();
logConsoleAppender.setContext(logCtx);
logConsoleAppender.setName("console");
logConsoleAppender.setEncoder(logEncoder);
logConsoleAppender.start();
return logConsoleAppender;
}
}
I tried to make a separate class specifically for Hibernate. 我试图专门为Hibernate创建一个单独的类。 And write to another file. 并写入另一个文件。 The file is created but no information. 文件已创建,但没有信息。 I try user some thing like this in another class Logger log = logCtx.getLogger("org.hibernate.SQL"); 我在另一个类中尝试给用户类似的东西。Logger log = logCtx.getLogger(“ org.hibernate.SQL”);
UPDATE: 更新:
In the end what I want: I want to configure the logging of my application in java code. 最后,我想要的是:我想用Java代码配置应用程序的日志记录。 That is, the log should be written to the logs of the application and SQL queries. 即,该日志应写入应用程序和SQL查询的日志。 And 和
It was much easier than I expected. 这比我预期的容易得多。 Needed for Hibernate logger to specify the logging level and to create a logger to use the "org.hibernate" Hibernate记录器需要指定记录级别并创建一个记录器以使用“ org.hibernate”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.