Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >未创建Log4j2日志文件

未创建Log4j2日志文件
EN

Stack Overflow用户
提问于 2022-08-09 01:06:04
回答 2查看 388关注 0票数 1

对于一个spring引导应用程序,我正在尝试设置一个log4j2记录器,它可以将日志写入几个精子文件,但是日志只写到控制台,我检查了user_dir,以确保没有查找错误的位置。

这是应该编写测试日志的代码:

代码语言:javascript
代码运行次数:0
复制
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class UsersController {

    @Autowired
    UsersService userService;

    private static final Logger logger = LogManager.getLogger(UsersController.class);
    @PostMapping("CreateUserWithEmailAndPassword")
    public void createUserWithEmailAndPassword(@RequestParam String userName, @RequestParam String password, @RequestParam String email, HttpServletResponse response) throws ExecutionException, InterruptedException {
        logger.info("creating a new user");
        if(userService.createUserWithEmailAndPassword(userName, password, email))
            response.setStatus(HttpServletResponse.SC_ACCEPTED);
        else{
            logger.error("failed on creating a new user");
            response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);
        }

    }
}

这是我的log4j2.xml文件:

代码语言:javascript
代码运行次数:0
复制
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
        <File name="FileAppender" ref="infoAppender" fileName="info-${date:yyyyMMdd}.log" immediateFlush="true" append="true">
            <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </File>
        <File name="FileAppender" ref="errorAppender" fileName="error_warn-${date:yyyyMMdd}.log" immediateFlush="true" append="true">
            <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </File>
    </Appenders>
    <Loggers>
        <Root level="warn">
            <AppenderRef ref="errorAppender"/>
        </Root>
        <AppenderRef ref="ConsoleAppender"/>
        <AppenderRef ref="infoAppender" level="info"/>
    </Loggers>

    <Properties>
        <!--LINUX LOG DIRECTORY-->
        <Property name="logDirLinux">/storage1/user/logs/folderName/</Property>

        <!--WINDOWS LOG DIRECTORY-->
        <Property name="logDirWindows">C:\\logs\\</Property>

    </Properties>

</Configuration>

这是我的build.gradle文件:

代码语言:javascript
代码运行次数:0
复制
plugins {
    id 'org.springframework.boot' version '2.7.2'
    id 'io.spring.dependency-management' version '1.0.12.RELEASE'
    id 'java'
}

group = 'com.Itamarled'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation ('org.springframework.boot:spring-boot-starter-web'){
        exclude group : 'spring-boot-starter-logging'
    }
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation ('org.springframework.boot:spring-boot-starter-test'){
        exclude group : 'spring-boot-starter-logging'
    }
    implementation 'com.google.firebase:firebase-admin:9.0.0'
    implementation 'org.springframework.boot:spring-boot-starter-log4j2'
}

tasks.named('test') {
    useJUnitPlatform()
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-09 02:41:29

问题是,由于文件结构的原因,spring无法识别log4j2.xml文件。

该文件必须直接位于src/main/resources中。

票数 0
EN

Stack Overflow用户

发布于 2022-08-09 01:15:29

将属性标记添加到XML文件中,然后定义路径以保存日志文件:

代码语言:javascript
代码运行次数:0
复制
<Properties>
    ...

    <!--LINUX LOG DIRECTORY-->
    <Property name="logDirLinux">/storage1/user/logs/folderName/</Property>

    <!--WINDOWS LOG DIRECTORY-->
    <Property name="logDirWindows">D:\\logs\\folderName\\</Property>

</Properties>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73289195

复制
相关文章
原生php创建错误日志文件
conn.log文件在你运行的php文件的同级 <?php header('Content-Type:text/html;charset=utf-8'); date_default_timezo
贵哥的编程之路
2022/05/06
1K0
原生php创建错误日志文件
Log4j2 日志
Apache Log4j2 是 Log4j 的升级,对其前身 Log4j 1.x进行了重大改进,并提供了Logback 中可用的许多改进,同时修复了 Logback 架构中的一些固有问题。
JanYork_简昀
2022/05/23
3670
Log4j2 日志
log4j2 异步日志 -- AsyncAppender
在我们的工程项目中,日志记录是必不可少的,在 java 项目中,我们通常会使用 log4j、logback、log4j2 等等组件中的一个来实现日志的记录。
用户3147702
2022/06/27
3.3K0
log4j2 异步日志 -- AsyncAppender
【Log4j2】Spring 整合 Log4j2 日志框架
.29.
2023/10/17
2400
【Log4j2】Spring 整合 Log4j2 日志框架
Log4j2优雅日志打印
对于Log4j2大家应该都不是很陌生,听说最多的应该是2021年年底出现的安全漏洞了,不过最让大家头痛的应该不仅仅是这个安全漏洞的处理,安全漏洞通过升级最新的依赖版本即可快速解决,平时在使用过程中遇到过比较多的问题应该就是日志jar包不知道如何选择?日志jar冲突引起的日志不打印问题,日志配置太过复杂不知道如何配置只能百度CV粘贴一个配置。
宋小生
2023/02/28
1.9K0
Log4j2优雅日志打印
Java日志体系(log4j2)
1 log4j2 1.1 简介 log4j2,一个日志的实现框架,是log4j的升级版本,于2014年7月正式亮相。与第一代log4j不同,log4j2完全重写了log4j的日志实现,并不是在原有基础
贾博岩
2018/05/11
2.9K0
Log4j2同步日志,混合日志和异步日志配置详解
Log4j2中记录日志的方式有同步日志和异步日志两种方式,其中异步日志又可分为使用AsyncAppJava
Java架构师必看
2021/07/15
2.2K0
Log4j2日志框架
log4j2是一个比较新的日志框架,作为log4j的升级版本,修复了它的锁竞争问题提升了性能,提供了丰富的组件支持以及良好的语义配置。
李鸿坤
2020/07/17
5310
15 业务日志 Log4j2 方案
视频演示:http://mpvideo.qpic.cn/0b2eayaagaaaxqahot37afrvabwdamdaaaya.f10002.mp4? 日志分级 目前所有日志输出在一个文件中,不区
netkiller old
2022/12/05
2360
日志框架,选择Logback Or Log4j2?
来源:https://juejin.im/post/6844903926777511943
好好学java
2020/09/24
7360
日志框架,选择Logback Or Log4j2?
[MySQL]开启慢查询日志以及未使用索引SQL日志
#记录慢查询日志 slow_query_log = ON slow_query_log_file = /var/log/mysql/slow.log long_query_time = 0.1
唯一Chat
2021/03/09
1.6K0
winform 窗口未创建数据更新
this窗口未创建前,不允许使用invoke,可以使用invokerequire避免抛出异常
sofu456
2020/03/18
1.7K0
Springboot 整合 log4j2 日志详解
在项目推进中,如果说第一件事是搭 Spring 框架的话,那么第二件事情就是在 Sring 基础上搭建日志框架,我想很多人都知道日志对于一个项目的重要性,尤其是线上 Web 项目,因为日志可能是我们了解应用如何执行的唯一方式。
JavaFish
2020/01/02
1.2K0
Log4j2日志 不健全
特殊说明: 第三方平台不会及时同步本文章最新内容,如果觉得本文资料不全,可以访问本人Java博客搜索:标题类似的关键字 上述文章均是我实际操作后产出,烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
收心
2023/02/22
5450
Spring Boot 整合 Log4j2 实践日志
从图中不难看出,在线程数为 2~16 之间,混合使用同步和异步的logger来打印日志,性能是最好的。
二哥聊运营工具
2021/12/17
3050
Spring Boot 整合 Log4j2 实践日志
RocketMQ存储--日志文件创建与映射流程【源码笔记】
日志目录(可配置)/data/rocketmq/store/commitlog会有20位长度的日志文件。 1.日志文件什么时候创建的? 2.日志文件创建流程是什么? 3.日志文件和内存映射是怎么样的?
瓜农老梁
2019/08/08
1.6K0
RocketMQ存储--日志文件创建与映射流程【源码笔记】
spring引入log4j2日志框架
Log4j2是Apache的一个开源项目,通过使用Log4j2,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
逍遥壮士
2020/09/18
1.7K0
spring引入log4j2日志框架
编写日志创建页
编写后端Python代码不但很简单,而且非常容易测试,上面的API:api_create_blog()本身只是一个普通函数。
用户8442333
2021/05/25
3760
高性能的Java日志框架log4j2
Apache Log4j2 和 Logback 对比有很大的改进。除了内部设计的调整外,主要有以下几点的大升级:
神秘的寇先森
2021/04/13
1.2K0
高性能的Java日志框架log4j2
清除SVN未版控文件
用Git时,git clean -df 可以清除所有没有add的文件,得到一个干净的工作空间。
全栈程序员站长
2022/07/07
1.1K0

相似问题

未使用log4j2创建日志文件

129

log4j2未创建RollingFile日志

15

log4j2未写入日志文件

118

Log4j2创建日志文件,但不写入日志文件

20

log4j2输出未写入日志文件

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 腾讯技术创作特训营