当前位置: 首页 > 知识库问答 >
问题:

SpringBoot-Log4J2-将标准输出重定向到Log4J2模式

杜轩昂
2023-03-14

我试图将Spring Boot日志重定向到log4j2,但我看不出配置中缺少什么。

请注意,在A和B之间,在下面的图片1中,状态日志如何包含我想要的模式中的一些日志条目,但有些不包含。

图片中的“MYCONFIG”

我所追求的是在Spring Boot启动后自定义日志的格式。

图1-控制台输出:

图2-log4j2。属性文件

到目前为止,我所看到的是:https://logging.apache.org/log4j/2.x/manual/appenders.html

我的测试日志输出通过slf4j显示在Spring Boot输出中,但不是我想要的模式。

提前谢谢你,伊隆

共有1个答案

江阳夏
2023-03-14

我可以通过升级到更新版本的SpringBoot 2.5.3间接地解决这个问题。

作为其中的一部分,我还必须添加一个直接的依赖项到Spring Boot启动验证库,因为它不再作为Spring Boot启动web的一部分包含在内。

 类似资料:
  • 问题内容: 在bash中,调用将在stdout上显示该命令的任何输出。 调用会将该命令的任何输出重定向到指定的文件(在本例中为“输出”)。 有没有一种方法可以将输出重定向到文件 并 在stdout上显示? 问题答案: 您想要的命令名为 : 例如,如果您只关心标准输出: 如果要包括stderr,请执行以下操作: 将通道2(stderr /标准错误)重定向到通道1(stdout /标准输出),以便将两

  • 但是这种方法确实有两个问题:我不能使用在中设置处理程序和级别的方法,因为它根本没有效果(我已经通过文件中的系统属性设置了文件的路径)。 使用的方法起到了帮助作用,因为这使得java util日志以我的Log4j2格式打印。但是我创建的java util不具有所需的级别,而是默认的级别,尽管根记录器具有正确的级别。因此,java util日志记录函数中的默认保护阻止了桥接器的输入,因此我永远不能记录

  • 问题内容: 是否可以在Python中临时重定向stdout / stderr(即在方法期间)? 编辑: 当前解决方案的问题(我最初记得但后来忘记了)是它们没有 重定向 ;相反,它们只是完全替换了流。因此,如果某个方法由于某种原因(例如,由于将流作为参数传递给某物)而具有该变量的 本地 副本,则该方法将无效。 有什么办法吗? 问题答案: 要解决某些函数可能已将流作为局部变量缓存的问题,因此替换全局变

  • 问题内容: 我正在尝试从主机系统调用docker的mysqldump,以从golang保存mysql dump。它可以与主机mysqldump正常工作,但不能与docker的mysqldump一起工作。 } 我只有非空数据库的 空mysql dump 问题答案: 解决方案是: } 没有“> dbname.sql”

  • 问题内容: 我的基本程序从脚本GUI.py导入了它的GUI界面。 在我的GUI.py中: 但是它的作用是打开两个窗口,第一个窗口 (顶层 窗口 ) 按预期工作,第二个窗口 处于空闲状态 , 这是期望的,直到我单击某个按钮 ,该 按钮 在连续按下后打印数据,并且打印的数据应出现在第二个窗口的文本小部件中, 但是 不会发生,程序也没有响应,当我关闭“顶层”窗口时,会出现错误消息 “ TclError:

  • 问题内容: 我正在尝试使用Tkinter GUI启动子进程并将其stdout / stderr输出显示到Text小部件。最初,我认为可以通过设置“ sys.stdout = text_widget”轻松将sys.stdout重定向到Text小部件,但似乎不行。出现错误:“文本实例没有属性’flush’”。 我在线检查并得到了一些解决方案,例如使用队列与子进程进行通信。但是,由于我的特殊要求,它们都