java - 如何停止Spring的默认输出?

标签 java spring logging

我是 Spring 新手。当我运行 Spring 批处理应用程序时,我希望只看到“Hello World!”,但相反,我得到了以下附加详细信息 -

May 03, 2012 12:28:42 PM    org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4e660b27: startup date [Thu May 03 12:28:42 EDT 2012]; root of context hierarchy
May 03, 2012 12:28:42 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [helloWorldJob.xml]
May 03, 2012 12:28:43 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [MEMORY-JOBREPOSITORY.xml]
May 03, 2012 12:28:44 PM org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition
INFO: Overriding bean definition for bean 'helloWorldJob': replacing [Generic bean: class [org.springframework.batch.core.configuration.xml.SimpleFlowFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Generic bean: class [org.springframework.batch.core.configuration.xml.JobParserJobFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]
May 03, 2012 12:28:44 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@63dfb24d: defining beans [jobRepository,jobRepository-transactionManager,jobLauncher,hello,world,org.springframework.batch.core.scope.internalStepScope,org.springframework.beans.factory.config.CustomEditorConfigurer,org.springframework.batch.core.configuration.xml.CoreNamespacePostProcessor,step0,step1,helloWorldJob]; root of factory hierarchy
May 03, 2012 12:28:44 PM org.springframework.aop.framework.DefaultAopProxyFactory 
INFO: CGLIB2 available: proxyTargetClass feature enabled
May 03, 2012 12:28:44 PM org.springframework.batch.core.launch.support.SimpleJobLauncher afterPropertiesSet
INFO: No TaskExecutor has been set, defaulting to synchronous executor.
May 03, 2012 12:28:44 PM org.springframework.batch.core.launch.support.SimpleJobLauncher$1 run
INFO: Job: [FlowJob: [name=helloWorldJob]] launched with the following parameters: [{time=11:06AM}]
May 03, 2012 12:28:44 PM org.springframework.batch.core.job.SimpleStepHandler handleStep
INFO: Executing step: [step0]
HelloMay 03, 2012 12:28:44 PM org.springframework.batch.core.job.SimpleStepHandler handleStep
INFO: Executing step: [step1]
 World!May 03, 2012 12:28:44 PM org.springframework.batch.core.launch.support.SimpleJobLauncher$1 run
INFO: Job: [FlowJob: [name=helloWorldJob]] completed with the following parameters: [{time=11:06AM}] and the following status: [COMPLETED]
May 03, 2012 12:28:44 PM org.springframework.context.support.AbstractApplicationContext doClose
INFO: Closing org.springframework.context.support.ClassPathXmlApplicationContext@4e660b27: startup date [Thu May 03 12:28:42 EDT 2012]; root of context hierarchy
May 03, 2012 12:28:44 PM org.springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons
INFO: Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@63dfb24d: defining beans [jobRepository,jobRepository-transactionManager,jobLauncher,hello,world,org.springframework.batch.core.scope.internalStepScope,org.springframework.beans.factory.config.CustomEditorConfigurer,org.springframework.batch.core.configuration.xml.CoreNamespacePostProcessor,step0,step1,helloWorldJob]; root of factory hierarchy

How to prevent this extra stuff from showing? Thanks.

Additional info- log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="appender" class="org.apache.log4j.FileAppender">
    <param name="File" value="helloWorld-Log.txt"/>
    <param name="Append" value="false"/>
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d [%t] %p - %m%n"/>
    </layout>
  </appender>
  <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.SimpleLayout"/>
  </appender>
  <root>
    <priority value ="ERROR"/>
    <appender-ref ref="ConsoleAppender"/>
  </root>

</log4j:configuration>

最佳答案

您可以switch to Log4J loggingset the log level to ERROR or FATAL 。 这样您就可以停用所有非错误日志记录。

但是戴夫·牛顿是对的:这听起来确实是个坏主意。

关于java - 如何停止Spring的默认输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10435557/

相关文章:

java - Maven-构建 pom 时出错

java - 使用 spring petclinic 示例和 hsqldb 的 jpa 查询语法

java - 服务层在实践中注入(inject)多个DAO

.net - ASP.net : How to log from within CreateHostBuilder()?

javascript - 我可以拒绝 dojo/Deferred 而不会在浏览器控制台中出现错误吗?

java - getActivity().runOnUiThread(new Runnable(){ 上的 NullPointerException

java - AsyncTask 中的 Volatile 和 Synchronized

java - 在 Eclipse 中生成具有依赖项(外部 jar)的可执行 .jar

java - 在 Spring Boot 中使用应用程序属性动态更改 bean

java - 获取崩溃异常消息并存储到数据库中