所以我在创建自定义log4j(1.2)appender时遇到了一些麻烦。 https://github.com/stuart-warren/logit
基本测试用例: https://gist.github.com/stuart-warren/6750331
它在网络上正常登录,但在执行结束时应用程序实际上没有完成,我必须在Eclipse中单击终止...
我正在扩展大多数基于网络的appender似乎使用的常用AppenderSkeleton,但close()
方法似乎永远不会被调用,因此我永远不会破坏我的套接字。
这可能是我没有发现的非常明显的东西,但我对java很陌生,经过2天的修补后,它就转向了我。
感谢。
修改
典型的,我终于知道你必须调用LogManager.shutdown();
并成功调用appenders close()
方法。
答案 0 :(得分:0)
典型的,我终于知道你必须调用LogManager.shutdown();
并成功调用appenders close()
方法。
如果应用exit(0)
,我还创建了一个关闭套接字以关闭套接字
https://github.com/stuart-warren/logit/blob/master/src/main/java/com/stuartwarren/logit/log4j1/ShutdownHook.java