如何将 Tomcat 9 的内部日志记录(catalina 和 localhost)重定向到 Log4j2?
虽然有许多针对旧版本 Tomcat 和 Log4j 的指南,但我找不到有关 Tomcat 9 和 Log4j2 的任何“完整”内容;Apache Tomcat 9 文档指向“替代日志框架提供的说明”,Apache Log4j 文档指出(2. 中的 jar 名称已更正):
Log4j 可以用作 Apache Tomcat 的日志框架。此支持是通过在启动类路径中包含 log4j-api、log4j-core 和 log4j-appserver jar 自动实现的。名为 log4j2-tomcat.xml、log4j2-tomcat.json、log4j2-tomcat.yaml、log4j2-tomcat.yml 或 log4j2-tomcat.properties 的文件还必须放置在引导类路径中。这最容易通过以下方式完成:
- 在 catalina home 中创建一组名为 log4j2/lib 和 log4j2/conf 的目录。
- 将 log4j-api-2.12.0.jar、log4j-core-2.12.0.jar 和 log4j-appserver-2.12.0.jar 放置在 log4j2/lib 目录中。
- 在 log4j2/conf 目录中创建名为 log4j2-tomcat.xml、log4j2-tomcat.json、log4j2-tomcat.yaml、log4j2-tomcat.yml 或 log4j2-tomcat.properties 的文件。
- 在tomcat bin目录下创建或修改setenv.sh以包含
CLASSPATH=$CATALINA_HOME/log4j2/lib/*:$CATALINA_HOME/log4j2/conf
但是 log4j2-tomcat.* 配置文件中应该放入什么内容呢?
我在 TS 中编写了一个库和一个测试我的库的程序。我已经为库和程序启用了源映射,并且我正在使用 node.js 调试器。
调试程序的 TS 代码是有效的,但是一旦我进入库函数的调用,我就会调试发出的 JS 代码而不是我的 TS 源。
我将库的 package.json 的 'files' 字段设置为 [ "lib" ],其中 lib 是包含 JS 文件以及源映射的目录,但这并没有改变任何内容。
我还有另一种方法如何告诉 VS Code 它应该使用我的库的源映射?
node.js source-maps typescript visual-studio-code vscode-debugger