Java 如何将异常写入日志文件。。。?
我已经使用了SpringMVC 在DispatcherServlet加载之后,我得到了异常。我需要将该异常写入日志文件 我发现了一个错误。。。到主机192.168.100.178端口1433的TCP/IP连接失败。错误:连接超时。验证连接属性。确保SQL Server实例正在主机上运行,并在端口接受TCP/IP连接。确保到端口的TCP连接未被防火墙阻止 我无法写入日志文件Java 如何将异常写入日志文件。。。?,java,spring-mvc,Java,Spring Mvc,我已经使用了SpringMVC 在DispatcherServlet加载之后,我得到了异常。我需要将该异常写入日志文件 我发现了一个错误。。。到主机192.168.100.178端口1433的TCP/IP连接失败。错误:连接超时。验证连接属性。确保SQL Server实例正在主机上运行,并在端口接受TCP/IP连接。确保到端口的TCP连接未被防火墙阻止 我无法写入日志文件 有人能帮忙吗?谢谢您可以创建自己的自定义异常,一旦捕获所有TCP/IP连接异常,就会抛出该异常。一旦抛出自定义异常,您只需将
有人能帮忙吗?谢谢您可以创建自己的自定义异常,一旦捕获所有TCP/IP连接异常,就会抛出该异常。一旦抛出自定义异常,您只需将日志写入指定的文件。您可以使用Log4j 是遵循Log4j 2配置的好教程:
<?xml version="1.0" encoding="UTF-8"?>
<!-- No need to set system property "Log4jContextSelector" to any value
when using <asyncLogger> or <asyncRoot>. -->
<Configuration status="WARN">
<Appenders>
<!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
<RandomAccessFile name="RandomAccessFile" fileName="asyncWithLocation.log"
immediateFlush="false" append="false">
<PatternLayout>
<Pattern>%d %p %class{1.} [%t] %location %m %ex%n</Pattern>
</PatternLayout>
</RandomAccessFile>
</Appenders>
<Loggers>
<!-- pattern layout actually uses location, so we need to include it -->
<AsyncLogger name="com.foo.Bar" level="trace" includeLocation="true">
<AppenderRef ref="RandomAccessFile"/>
</AsyncLogger>
<Root level="info" includeLocation="true">
<AppenderRef ref="RandomAccessFile"/>
</Root>
</Loggers>
</Configuration>
Logger logger = LogManager.getLogger(Your_Class_Name.class);
try {
// do something
} catch (Exception e) {
StringWriter stack = new StringWriter();
e.printStackTrace(new PrintWriter(stack));
logger.fatal(stack.toString());
};