spring-boot - Tomcat 上没有 log4j.properties 文件的 SLF4J-LOG4J 日志记录
问题描述
希望你能解开这个非常神秘的谜题!
迁移到 Java8 和 Tomcat8 后,服务器上的日志信息正常,但开发人员笔记本电脑上没有日志信息。添加 Spring-boot-starter-log4j2 在笔记本电脑上有日志信息,但在服务器上没有。怎么会?怎么修?
在 parent.pom 中,使用了依赖 slf4j-api、slf4j-log4j 绑定和 'slf4j : jcl-over-slf4j'。在项目中没有 log4j.properites 文件。在所有使用spring boot的地方,都排除了spring-boot-starter-logging。
场景 1: 在笔记本电脑上 - SLF4J 组合不会产生任何日志记录。我猜那是因为没有 log4j.properties 文件。在服务器上,此组合显示日志记录。怎么会这样?是否可以提供允许此日志记录的 Tomcat 配置?
场景 2: 当我添加 spring-boot-starter-log4j2 时,我开始登录我的笔记本电脑。在服务器上根本没有日志记录。
解决方案
您可以在您的 tomcat 环境中定义常规日志记录设置。这例如在本文中显示。
简而言之:(1)添加一个额外的库和(2)添加一个默认的 log4j.properties 文件。
推荐阅读
- python - 支付率程序(TypeError:*:'NoneType' 和 'float' 不支持的操作数类型)
- asp.net-core-2.1 - 在 ASP.net 核心中使用信号器强制注销
- angular - 现有选择控件中新添加的选项未反映在角度视图中
- python - 从列表列表中获取边框元素
- html - 如何并排布局两个div元素
- python - 如何在 C# 中的列表中创建列表?
- html - 我的个人资料页面不适用于使用引导 css 和 html 的手机屏幕
- python - 在 Tensorflow 2 中使用 MirroredStrategy 时如何使用字典输出
- python - 值 [[3L]](cond) 中的错误:未提供区域(包 noctua)
- wpf - 获取 XAML 中的产品名称