为了单独记录我们程序中各种异常,我们这样做:创建一个队列,当出现异常的时候,将异常放入到队列中,另外,我们在程序启动时,开启一个线程,用来从存放异常的队列中取得异常信息,进行写入文件。
模拟代码:
自定义异常出现时候的处理类:
修改filterConfig中的方法(当出现异常时候,将异常交给我们的自定义类进行处理):
修改应用程序入口方法:
在大型网站中,我们将异常信息队列从应用程序服务器中分离开来,在这里,使用redis存放我们的异常信息,但产生异常信息之后,将异常信息交给我们的log4net处理。
修改队列:
改用log4net处理错误信息:
ps:log4net配置文件:
处理节点配置:
在网站正常使用中,我们的redis服务器一般是跟我们的应用服务器分离开的,这样我们的队列就不占用应用服务器的资源了,再扩展,我们的日志也可以单独从应用服务器剥离开来,做到服务器专用。