如何启用嵌入式tomcat日志记录 [英] How to enable embedded tomcat logging
问题描述
我在Java应用程序中使用嵌入式tomcat.下面是我的源代码.但是tomcat不会生成任何日志.
I m using embedded tomcat in my java application. below is my source code. however tomcat is not generating any log.
embedded = new Embedded();
embedded.setDebug(3);
org.apache.catalina.logger.FileLogger embeddedFileLogger = new org.apache.catalina.logger.FileLogger();
embeddedFileLogger.setDirectory(tomcatHome+"/log");
embeddedFileLogger.setPrefix("Embedded_log_");
embeddedFileLogger.setSuffix(".txt");
embeddedFileLogger.setTimestamp(true);
embeddedFileLogger.setVerbosity(3);
//embedded.setLogger(new SystemOutLogger());
engine = embedded.createEngine();
//engine.setLogger(embeddedFileLogger);
embeddedFileLogger.setContainer(engine);
engine.setDefaultHost("localhost");
host = embedded.createHost("localhost", tomcatHome + "/webapps");
//host.setLogger(embeddedFileLogger);
engine.addChild(host);
_context = embedded.createContext("", tomcatHome + "/webapps/ROOT");
host.addChild(_context);
embedded.addEngine(engine);
CoyoteConnector connector = (CoyoteConnector)embedded.createConnector(InetAddress.getByName(ipAddress), port, false);
embedded.addConnector(connector);
embedded.setLogger(embeddedFileLogger);
embedded.start();
请让我知道如何通过代码或tomcat配置启用嵌入式tomcat日志记录.
Please let me know how can i enable embedded tomcat logging through code or tomcat configuration.
推荐答案
默认情况下,嵌入式Tomcat使用JDK提供的日志记录配置.如果您尚未更改配置,则仅配置ConsoleHandler
.如果要以编程方式添加FileHandler
,则可以将其添加到root记录器中.这是一个通过在INFO
级别附加消息来写入文件catalina.out
的示例.这适用于Tomcat 6.x和7.x.
By default the embedded Tomcat uses the logging configuration provided by the JDK. If you haven't changed the configuration only a ConsoleHandler
is configured. If you wanted to programmatically add a FileHandler
you can add it to the root logger. Here's an example that writes to the file catalina.out
by appending the messages on INFO
level. This works for Tomcat 6.x and 7.x.
Logger logger = Logger.getLogger("");
Handler fileHandler = new FileHandler("catalina.out", true);
fileHandler.setFormatter(new SimpleFormatter());
fileHandler.setLevel(Level.INFO);
fileHandler.setEncoding("UTF-8");
logger.addHandler(fileHandler);
这篇关于如何启用嵌入式tomcat日志记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!