php - log4php如何在日志文件中输出异常信息?

标签 php exception logging log4php

我已经设置了log4php使用 LoggerAppenderRollingFile 记录到文件appender 和 LoggerLayoutTTCC布局。但是,当我记录异常时,它不会显示异常详细信息,例如我在 log4net 中经常看到的堆栈跟踪。

我快速浏览了代码,它看起来像 LoggerAppenderMongoDB支持使用 formatThrowable method 显示异常,但我在其他 appender 中看不到任何类似的东西。

我觉得我遗漏了一些明显的东西。为了将这些详细信息打印到日志文件,我需要配置什么吗?我需要创建自定义 LoggerAppender 类吗?或者这些可以通过不同的布局或自定义渲染器来完成吗?

最佳答案

仅供引用,现在 LoggerLayoutTTCC 已弃用,您可以使用 LoggerLayoutPattern使用更好的格式字符串来包含异常。

<layout class="LoggerLayoutPattern">
   <param name="conversionPattern" value="%d{m/d/y H:i:s,u} [%t] %p %c %x - %m %newline%throwable" />
</layout>

<!-- %newline%throwable is the important part -->

请参阅文档的日志异常部分:http://logging.apache.org/log4php/docs/layouts/pattern.html#Logging_exceptions

关于php - log4php如何在日志文件中输出异常信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7107413/

相关文章:

c# - 如何在 C# Interactive 窗口中设置通常在 app.config 中定义的开关?

java - 更改日志语言 Spring Boot

java - 如何从 log4j.xml 的 .properties 文件中获取动态值

php - 如何使用Codeigniter访问第三方文件夹中的smarty库?

java - Liferay 产生异常 : null and javax. servlet.ServletException : java. lang.StackOverflowError

php - 如何在Docker php-fpm alpine中安装LDAP

c# - 哪些异常类已经存在,我们什么时候使用它们?

python - 在 Python 中记录和继承记录器的配置

php - 如何从地址中删除index.php,同时通过fastcgi将请求重定向到index.php?

php - 用于 nginx、php、mysql、golang 的 Docker-compose