我做了一些搜索,寻找有关如何使用Spring Framework进行日志记录的信息。

我们目前有一个除了system.out语句之外没有登录的应用程序(非常糟糕)。

我想做的是添加日志记录,但也希望能够在运行时控制日志记录,比如说JMX。

我们正在使用Rad 7.0 / WebSphere 6.1

我很有兴趣找出实现这个目标的最佳方式(我想可能有几个)。

更新:关于以下 Spring AOP记录的想法好的理想与否。这是针对此处发布的关于日志记录的问题:条件记录。这是改善了事情还是只是在伐木方面变得更加困难?

有帮助吗?

解决方案

我会使用 Commons Logging Log4j 。对于Spring来说这不是一个真正的问题,但Springframework源也确实使用了Commons Logging。如果在log4j中创建log4j logger和appender,则也可以在Springframework类中启用日志记录。有几种方法可以在运行时控制日志记录。 Log4j沙箱有一个JSP,您可以将其放入您的webapp,这将允许您控制应用程序中所有记录器的日志级别。

其他提示

请参阅log4j的其他答案。但也请考虑 JAMon 进行应用程序监控。添加到spring应用程序非常容易,例如:

    <bean id="performanceMonitor" class="org.springframework.aop.interceptor.JamonPerformanceMonitorInterceptor">
        <property name="useDynamicLogger" value="false"/>
        <property name="trackAllInvocations" value="true"/>
    </bean>

   <bean id="txRequired" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
            <property name="transactionManager" ref="transactionManager"/>
            <property name="transactionAttributes" >
                <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props>
            </property>
        <property name="preInterceptors">
           <list>
              <ref bean="performanceMonitor"/>      
           </list>
        </property>
   </bean>

这是一个用于为控制台和文件记录器配置log4j的示例文件。如果此文件位于类路径上,则log4j将自动读取该文件。但是,由于您位于应用服务器内,因此可能还有另一种配置日志记录的首选方法。我记得在JBoss里面有一个你必须修改的xml文件。关于websphere配置不确定。但是如果你想为一个简单的测试应用程序配置它,这将让你前进。

# Set root logger level to WARN and appenders to A1 & F1.
log4j.rootLogger=WARN, A1, F1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# logging to console only INFO
log4j.appender.A1.Threshold=INFO
# F1 is a file appender
log4j.appender.F1=org.apache.log4j.RollingFileAppender

# Tell Spring to be quiet
log4j.logger.org.springframework=WARN
# debug logging for my classes
log4j.logger.com.yourcorp=DEBUG
log4j.logger.org.hibernate=INFO

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r : %d{HH:mm:ss,SSS} [%t] %-5p %c{1} %x - %m%n

log4j.appender.F1.File=./log/mylogfile.log
log4j.appender.F1.MaxFileSize=10MB
log4j.appender.F1.MaxBackupIndex=5
log4j.appender.F1.layout=org.apache.log4j.PatternLayout
log4j.appender.F1.layout.ConversionPattern=%-4r : %d{HH:mm:ss,SSS} [%t] %-5p %c{1} %x - %m%n
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top