- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在将我的应用程序转换为网络应用程序之前。 Log4j 将日志记录在我在 log4j2.xml 中定义的正确日志文件(info.log 和 debug.log)中。
但是当我将我的应用程序更改为 web.app 时,所有日志现在都记录到 servlet 容器 (tomcat 7) 中的 catalina.out 文件中。部署应用程序后,log4j2 创建了这些日志文件,但它们仍然是空的,所有日志都转到 catalina.out 文件。
你能指出我做错了什么吗。
在web.xml中,我添加了必要的配置。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>project-service</display-name>
<!-- Support for Spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<context-param>
<param-name>log4jConfiguration</param-name>
<param-value>log4j2.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
</web-app>
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace" strict="true" name="XMLConfigTest"
packages="">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<RollingRandomAccessFile name="RollingRandomAccessFileDebug" fileName="/local/deploy/logs/debug.log"
filePattern="logs/$${date:yyyy-MM}/project-%d{MM-dd-yyyy}-%i.log.gz"
immediateFlush="false"
append="false">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
</RollingRandomAccessFile>
<RollingRandomAccessFile name="RollingRandomAccessFile" fileName="/local/deploy/logs/info.log"
filePattern="logs/$${date:yyyy-MM}/project-%d{MM-dd-yyyy}-%i.log.gz"
immediateFlush="false"
append="false">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="250 MB"/>
</Policies>
</RollingRandomAccessFile>
<!--<Async name="AsyncConsole">-->
<!--<AppenderRef ref="Console"/>-->
<!--</Async>-->
</Appenders>
<Loggers>
<Root level="TRACE">
<AppenderRef ref="RollingRandomAccessFileDebug" level="DEBUG"/>
<AppenderRef ref="RollingRandomAccessFile" level="INFO"/>
<AppenderRef ref="Console" level="TRACE"/>
</Root>
</Loggers>
</Configuration>
最佳答案
从
更改 fileName 属性fileName="/local/deploy/logs/info.log"
像这样的事情(无论你的情况是什么路径)
fileName="${sys:catalina.home}/logs/info.log"
如果它同时写入 catalina 和日志文件,请引用此链接
http://app-inf.blogspot.com/2012/10/java-util-logging-behaviour-in-tomcat.html
关于java - Tomcat 7 将所有日志记录到 catalina.out 但不记录到 log4j2 定义的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21984605/
尝试启动 servlet 引擎时,出现以下错误: 8080端口免费 在启动服务期间发现此错误。 服务器中已启用 IPv6。 错误: Using CATALINA_BASE: /app/iw-hom
我在尝试调用 Tomcat 上的 shutdown.sh 时遇到此错误。Tomcat 在 192.168.1.240:8080 上的内部服务器上 堆栈跟踪是 Aug 29, 2016 5:14:09
在我的 Linux 服务器 (ubuntu) 中,tomcat 日志文件 catalina.out 会自动重命名为新文件名,例如。 catalina.out catalina.out.1 , cata
我正在尝试为其中一个设备编写驱动程序套件扩展。我没有关于如何为 mac os Catalina 编写驱动程序扩展的信息。 我得到的唯一文档是 DriverKit 引用:https://develope
我有一个 bash 脚本,一旦文件超过特定大小时,它会成功删除一个或多个 tomcat 日志目录(我们运行多个实例)的 catalina.out 文件。我每晚运行此脚本作为 cron 作业。它基本上看
在 tomcat 启动后,Hibernate 开始登录 catalina.out。 (( 由于我从 tomcat/conf/logging.properties 中删除了控制台处理程序,它已开始在 c
我只是想知道如果我想替换: "$CATALINA_OUT" 2>&1 & 要每天轮换日志 我应该用什么替换它。我的理解是: "$CATALINA_BASE"/logs/catalina.out 2>&
我有我作为 .pkg 分发的应用程序使用 pkgbuild 创建的文件和 productbuild .使用 macOS Catalina,这不再起作用。安装程序提示我正在尝试将内容安装到系统卷。 三周
我在 Netbeans 中实现了一个基于 SOAP 的 Web 服务。我在服务器端遇到了一些问题,它给我错误 500,内部错误,因为我无法自动调试它,它告诉我检查日志但是我的catalina.out
我的一台主机在 Mac OS Catalina 上运行,并且它经常用完磁盘空间...... 我已经安排了在那里运行的任务,并且每天它都会将文件上传到 /用户/labuser/我的文件夹并从该文件夹中删
我已经修改了 php.ini 文件以启用操作码缓存并重新启动 apache,但它在 phpinfo() 中无处可见。 php -v 说: PHP 7.4.1 (cli) (built: Dec 18
01-Jul-2018 20:00:33.968 SEVERE [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.Container
由于 stderr.log 中的以下错误消息,我无法启动 tomcat 5.5 服务器。有人可以帮助我吗,这是一种紧急情况。提前致谢。 java.lang.ClassNotFoundException
该项目正在顺利运行突然我在控制台日志中收到此错误。我使用的是 Tomcat 8.0.35 版。我已经尝试了从干净构建到更新项目的所有方法。我知道已经解决了一些问题,但没有一个解决方案对我有用。 jav
我正在使用 Eclipse 在 Apache Tomcat 服务器上部署应用程序修复服务,但问题似乎是该应用程序没有被复制到 webapps 文件夹中,即它没有被发布。 HTTPConnectionM
在 tomcat 服务器中,logs 文件夹包含这样的文件 localhost.YYYY-MM-DD.log:主机日志 host-manager.YYYY-MM-DD.log 和manager.Y
我的 Java 应用程序(Spring、Hibernate、MySQL)在 Tomcat 5.5 中运行 在对我的应用程序进行最后一组更改后,Tomcat 的 catalina.out 文件增长非常迅
我禁用了 SIP,但目录/usr/bin 无论如何都是写保护的。如何获得/usr/bin 的写权限?请不要建议切换到/usr/local/bin。 最佳答案 Catalina 有一个新的文件系统安排,
我尝试在 Spring 中使用 Apache Tomcat 7.0 编写一个简单的 hello world 程序。我收到以下错误,服务器进入停止状态。 SEVERE: A child containe
我无法初始化 log4j catalina 日志附加器 - 你知道我缺少什么吗?我知道这是一个基本问题,但我坚持这一点。我为 catalina 记录器添加了 org.apache.log4j.net.
我是一名优秀的程序员,十分优秀!