Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将异常写入日志文件。。。?_Java_Spring Mvc - Fatal编程技术网

Java 如何将异常写入日志文件。。。?

Java 如何将异常写入日志文件。。。?,java,spring-mvc,Java,Spring Mvc,我已经使用了SpringMVC 在DispatcherServlet加载之后,我得到了异常。我需要将该异常写入日志文件 我发现了一个错误。。。到主机192.168.100.178端口1433的TCP/IP连接失败。错误:连接超时。验证连接属性。确保SQL Server实例正在主机上运行,并在端口接受TCP/IP连接。确保到端口的TCP连接未被防火墙阻止 我无法写入日志文件 有人能帮忙吗?谢谢您可以创建自己的自定义异常,一旦捕获所有TCP/IP连接异常,就会抛出该异常。一旦抛出自定义异常,您只需将

我已经使用了SpringMVC

在DispatcherServlet加载之后,我得到了异常。我需要将该异常写入日志文件

我发现了一个错误。。。到主机192.168.100.178端口1433的TCP/IP连接失败。错误:连接超时。验证连接属性。确保SQL Server实例正在主机上运行,并在端口接受TCP/IP连接。确保到端口的TCP连接未被防火墙阻止

我无法写入日志文件


有人能帮忙吗?谢谢

您可以创建自己的自定义异常,一旦捕获所有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());
};