最近看别人都这么写 不知为什么  
日志不就是为了看吗 还存数据库里干什么哪 新手求解释

解决方案 »

  1.   

    没有看错.........
    logName = "保存部门";   
                       logContent = logContentHead +"保存部门:"+ai.getStack().findValue("sysOrg.orgName");   
                       log.info(logContent);  //保存到了log4j 
                       addSysLog(logName,logContent); 
    .....
    又存了数据库...hibernate持久层
    private void addSysLog(String logName,String logContent){   
           HttpServletRequest request = ServletActionContext.getRequest();   
           SysLogService sysLogService = (SysLogService)ApplicationContextFactory.getApplicationContext().getBean("sysLogService");   
           SysLog sysLog = new SysLog();   
           sysLog.setLogName(logName);   
           sysLog.setLogContent(logContent);   
           sysLog.setLogType(Constants.LOG_TYPE_SYS);   
           sysLog.setLogTime(TimeHelper.getCurrentTime());   
           sysLog.setLogIp(request.getRemoteAddr());   
           sysLog.setLogKey(logName);   
           sysLogService.saveLog(sysLog); //这个应该是service层的save 然后 调用dao 的 .save()方法
      
       }   
    感觉写这个代码的人是个高手 所以就好奇的问一下是不是有什么原因
      

  2.   

    log4j不是可以直接配置成存到数据库的么
      

  3.   

    log4J是用来存储程序平常运行上出现的信息、警告或者异常信息,一般配置方式为存储在另外的文件系统上,
    而日志存入数据库一般是记录用户在使用系统过程中的一些操作的日志,比如登录系统、修改数据、删除数据以及审核工作流等等,主要就是用来记录用户操作事件的。
      

  4.   

    log4j比较方便...效率比数据库高吧
      

  5.   

    log4j生成的日志是保存在磁盘上的,系统大的的话要占很大的磁盘空间,而且里面的日志内容也比较繁杂,所以大型系统一般会把日志同时再保存到数据库中,这样一条一条的看得比较整齐,而且保存在数据库中也比较安全,不容易丢失。
      

  6.   

    有几种原因,你可以问问你们的项目经理
    1.有可能是为了将来做数据挖掘用,当日志存入到数据库中后,比较好操作,也比较好用程序去和它对接管理。
    2.存在硬盘上的有可能是做为备份,而数据库中的是真正用来做分析的数据。
    3.存在硬盘上的文件可能会变化为不同的存储形式,供nosql数据库等转化使用,而数据库中的则是用来整理过滤使用。
      

  7.   

    谢谢大家了  虽然答案不太统一 但是还是很有帮助 
    今天打开了日志 看到了
    [INFO ][2010-09-16 13:17:39] Root WebApplicationContext: initialization started
    [INFO ][2010-09-16 13:17:39] Refreshing org.springframework.web.context.support.XmlWebApplicationContext@bc8e1e: display name [Root WebApplicationContext]; startup date [Thu Sep 16 13:17:39 CST 2010]; root of context hierarchy
    [INFO ][2010-09-16 13:17:39] Loading XML bean definitions from file [D:\软件\Tomcat 6.0\webapps\TestAjax\WEB-INF\classes\applicationContext-action.xml]
    [INFO ][2010-09-16 13:17:40] Loading XML bean definitions from file [D:\软件\Tomcat 6.0\webapps\TestAjax\WEB-INF\classes\applicationContext-beans.xml]
    [INFO ][2010-09-16 13:17:40] Loading XML bean definitions from file [D:\软件\Tomcat 6.0\webapps\TestAjax\WEB-INF\classes\applicationContext-common.xml]
    [INFO ][2010-09-16 13:17:40] Loading XML bean definitions from file [D:\软件\Tomcat 6.0\webapps\TestAjax\WEB-INF\classes\applicationContext-control.xml]
    [INFO ][2010-09-16 13:17:40] Bean factory for application context [org.springframework.web.context.support.XmlWebApplicationContext@bc8e1e]: org.springframework.beans.factory.support.DefaultListableBeanFactory@19ec4ed
    .......
    .....
    ......
    [INFO ][2010-09-16 13:20:34] 2222
    [WARN ][2010-09-16 13:20:34] 3333
    [ERROR][2010-09-16 13:20:34] 4444
    [FATAL][2010-09-16 13:20:34] 5555
    .........
    ......
    ....
    ......
    [INFO ][2010-09-16 13:20:34] 2222
    [WARN ][2010-09-16 13:20:34] 3333
    [ERROR][2010-09-16 13:20:34] 4444
    [FATAL][2010-09-16 13:20:34] 5555
    上面有很多系统信息最后才是我存的 刷新一次又一堆系统信息  是不是这个原因 所以文件很占空间  
    能不能存一个文件没有上面的内容那  要是有怎么配那
      

  8.   

    log4j.appender.file.layout=org.apache.log4j.SimpleLayout
    不管用那 还是那么多
      

  9.   

    大量的日志肯定要存数据库,不然检索查询起来就慢了,呵呵用sql查日志肯定比你用文本编辑器一行行的看要清楚得多