Java Log4j2在Console works find上打印,但未创建日志文件
我使用的是Spring+球衣,但没有Spring战靴。当我设置Log4j2时,消息会打印在控制台上,但不会创建日志文件 配置XML:Java Log4j2在Console works find上打印,但未创建日志文件,java,spring,jersey,log4j2,Java,Spring,Jersey,Log4j2,我使用的是Spring+球衣,但没有Spring战靴。当我设置Log4j2时,消息会打印在控制台上,但不会创建日志文件 配置XML: 它是一个Maven项目,在我的pom.xml中,相关的库如下所示。我没有给出该项目中使用的所有其他库 org.springframework 弹簧网 ${org.springframework.version} 公用记录 公用记录 org.springframework 春季方面 ${org.springframework.version} org.spri
它是一个Maven项目,在我的pom.xml中,相关的库如下所示。我没有给出该项目中使用的所有其他库
org.springframework
弹簧网
${org.springframework.version}
公用记录
公用记录
org.springframework
春季方面
${org.springframework.version}
org.springframework.data
spring数据jpa
1.11.0.1发布
org.apache.logging.log4j
log4j型芯
${log4j.version}
org.apache.logging.log4j
log4jcl
${log4j.version}
org.apache.logging.log4j
log4j-slf4j-impl
${log4j.version}
我在本地Tomcat上运行下面的代码
@Path("log/")
public class LogTestServelt extends BaseServlet {
private final Logger logger = LogManager.getLogger(this.getClass());
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_XML })
public void testLog() {
logger.debug("This is a debug message");
logger.info("This is an info message");
logger.warn("This is a warn message");
logger.error("This is an error message");
}
}
当我尝试向该端点发送请求时,控制台上打印的消息是正常的,但没有创建日志文件
有人能告诉我吗?谢谢我遇到了同样的问题 实际上,我的文件一直在创建中,但我找不到它
根据给定的配置,它将在安装IDE(即Eclipse/STS/Netbeans等)的位置创建。尝试在该目录中查找。我相信您可以在那里找到它。您可以在tomcat webapp目录中找到配置文件中的路径名
“logfile.log”
是一个相对路径名
由于您已为日志文件指定了相对路径名,因此将相对于正在运行的Tomcat进程的工作目录创建该文件。工作目录的位置将取决于Tomcat的启动方式
(我们无法确定日志文件将位于何处。它可能位于IDE的工作区中。它可能位于Tomcat安装树中。它可能位于其他地方。甚至可能Tomcat进程无法写入Tomcat的工作目录……并且无法创建日志文件。)
解决方案:
- 使用特定于操作系统的工具搜索日志文件。例如,在Linux上,
find
- 在log4j2配置文件中为日志文件指定绝对路径名