版本是5.5,据说logging.properties这个文件能设置,不知道怎么写

解决方案 »

  1.   

    Check this:
    http://www.javafaq.nu/java-article998.htmlAnswer: Go to conf/logging.properties file. By default Tomcat has 5 logs:catalina
    localhost
    manager
    admin
    host-managerIf you want to stop logging of some files just change logging level to "OFF" or delete entries from "Handler specific properties" section. I recommend to turn it off, so you can enable it later if you want. But if you are completely sure that you will never use than better to rid of it SmileEvery entry contains three files. To change logging level you have to choose one of logging levels:
    # SEVERE (highest value)
    # WARNING
    # INFO
    # CONFIG
    # FINE
    # FINER
    # FINEST (lowest value)
    For example you have:1catalina.org.apache.juli.FileHandler.level = FINE  and want to stop all logging. Then write::1catalina.org.apache.juli.FileHandler.level = OFFAlso you can log all the messages with the level ALL
      

  2.   


    关闭log要改源代码? 夸张了点吧!
      

  3.   

    这位老大,你有试过么?我把所有的LEVEL都设为OFF了,还是没有用啊
      

  4.   

    没有那么麻烦。在tomcat/conf/server.xml中的Logger标签改一下就可以了
      

  5.   

    好像把level改成什么值都是一样的,logging.properties文件的内容:handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4admin.org.apache.juli.FileHandler, 5host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler############################################################
    # Handler specific properties.
    # Describes specific configuration info for Handlers.
    ############################################################1catalina.org.apache.juli.FileHandler.level = FINEST
    1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    1catalina.org.apache.juli.FileHandler.prefix = catalina.2localhost.org.apache.juli.FileHandler.level = FINEST
    2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    2localhost.org.apache.juli.FileHandler.prefix = localhost.3manager.org.apache.juli.FileHandler.level = FINEST
    3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    3manager.org.apache.juli.FileHandler.prefix = manager.4admin.org.apache.juli.FileHandler.level = FINEST
    4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    4admin.org.apache.juli.FileHandler.prefix = admin.5host-manager.org.apache.juli.FileHandler.level = FINEST
    5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    5host-manager.org.apache.juli.FileHandler.prefix = host-manager.java.util.logging.ConsoleHandler.level = FINEST
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
    ############################################################
    # Facility specific properties.
    # Provides extra control for each logger.
    ############################################################org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = FINEST
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandlerorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = FINEST
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandlerorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].level = FINEST
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/admin].handlers = 4admin.org.apache.juli.FileHandlerorg.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = FINEST
    org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 5host-manager.org.apache.juli.FileHandler
      

  6.   


    好像5.5开始没有这个Logger标签了
      

  7.   


    兄弟,你不如也给5.5也配一个Log4j,用log4j来控制吧,我看这个你也熟悉。
    具体配法:
    然后把新建的log4j.properties放在%CATALINA_HOME%/common/classes目录里面,注意,如果% CATALINA_HOME%/common/lib目录下没有log4j.jar和commons-logging.jar,一定要添加进去。
      

  8.   

    楼上的兄弟,这个办法我也试过的,TOMCAT还是会去记他自己的那个LOG
      

  9.   


    你把你的这个log4j发上来看看,这个是不可能的,你自己定义了输出地址,所有的东西都输出在你自己定义的文件里面
      

  10.   

    log4j.properties是这样的:log4j.rootCategory=INFO, CONSOLE, LOGFILE
    # Set the enterprise logger priority to FATAL
    log4j.logger.org.apache.axis2.enterprise=FATAL
    log4j.logger.de.hunsicker.jalopy.io=FATAL
    log4j.logger.httpclient.wire.header=FATAL
    log4j.logger.org.apache.commons.httpclient=FATAL# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=[%p] %m%n# LOGFILE is set to be a File appender using a PatternLayout.
    log4j.appender.LOGFILE=org.apache.log4j.RollingFileAppender
    log4j.appender.LOGFILE.File=test.log
    log4j.appender.LOGFILE.Append=true
    log4j.appender.LOGFILE.MaxFileSize = 100MB 
    log4j.appender.LOGFILE.MaxBackupIndex = 3
    log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.LOGFILE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
      

  11.   

    我定义的文件里面记了,它自己的LOG也没落下
      

  12.   

    我用了你的log4j我所有信息的都记在了test.log 里面了,tomcat自己的logs目录下根本就没有生成新的文件
      

  13.   

    你用的是什么版本?logs目录下面有没有stdout_20081125.log这种文件?
      

  14.   

    我的tomcat下面只有一个应用你的tomcat是安装版还ZIP版的?
      

  15.   

    stdout这个log文件应该是记录控制台的信息的不知道为什么有的版本会产生这个文件,而有的版本没有
      

  16.   

    我的这个是安装mapinfo产品里面自带的。
    你这个问题我也不知道什么原因了。期待高手来解答一下吧
      

  17.   


    1catalina.org.apache.juli.FileHandler.level = SEVERE
    1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    1catalina.org.apache.juli.FileHandler.prefix = catalina.2localhost.org.apache.juli.FileHandler.level = SEVERE
    2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    2localhost.org.apache.juli.FileHandler.prefix = localhost.3manager.org.apache.juli.FileHandler.level = SEVERE
    3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    3manager.org.apache.juli.FileHandler.prefix = manager.4admin.org.apache.juli.FileHandler.level = SEVERE
    4admin.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    4admin.org.apache.juli.FileHandler.prefix = admin.5host-manager.org.apache.juli.FileHandler.level = SEVERE
    5host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
    5host-manager.org.apache.juli.FileHandler.prefix = host-manager.java.util.logging.ConsoleHandler.level = SEVERE
    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter我这样设置,tomcat下面就没有log输出到控制台了。
      

  18.   

    应用程序自定义的log4j输出和tomcat\logs下的stdout输出重复的原因在于log4j的配置。看一下楼主的配置文件如下:log4j.properties是这样的:log4j.rootCategory=INFO, CONSOLE, LOGFILE
    # Set the enterprise logger priority to FATAL
    log4j.logger.org.apache.axis2.enterprise=FATAL
    log4j.logger.de.hunsicker.jalopy.io=FATAL
    log4j.logger.httpclient.wire.header=FATAL
    log4j.logger.org.apache.commons.httpclient=FATAL# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=[%p] %m%n
    # LOGFILE is set to be a File appender using a PatternLayout.
    log4j.appender.LOGFILE=org.apache.log4j.RollingFileAppender
    log4j.appender.LOGFILE.File=test.log
    log4j.appender.LOGFILE.Append=true
    log4j.appender.LOGFILE.MaxFileSize = 100MB
    log4j.appender.LOGFILE.MaxBackupIndex = 3
    log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.LOGFILE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
    问题在于CONSOLE 控制台输出的配置,因为tomcat的stdout的标准输出也是控制台内容所以引起重复输出,所以有两种方式修改:
    1.如果应用程序指定了特定的日志文件位置那么就删除log4j关于控制台输出配置。
    2.可以在tomcat\config\logging.properties文件中配置应用程序的输出,然后删除应用程序的log4j的文件输出配置,只采用控制台配置。