我在我的java应用程序中使用嵌入式tomcat。下面是我的源代码。但是 tomcat 没有生成任何日志。
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();
Run Code Online (Sandbox Code Playgroud)
请让我知道如何通过代码或 tomcat 配置启用嵌入式 tomcat 日志记录。
这是对我有用的(Tomcat 9.0.38):
添加系统属性以指向我的日志记录配置:
-Djava.util.logging.config.file=/absolute/path/to/logging.properties
Run Code Online (Sandbox Code Playgroud)
其内容logging.properties是:
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = UTF-8
handlers = java.util.logging.ConsoleHandler
org.apache.coyote.http2.level = FINE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18305 次 |
| 最近记录: |