001package org.kuali.common.util.log4j.spring;
002
003import java.util.Arrays;
004
005import org.apache.log4j.ConsoleAppender;
006import org.apache.log4j.PatternLayout;
007import org.kuali.common.util.xml.service.XmlService;
008import org.kuali.common.util.xml.spring.XmlServiceConfig;
009import org.springframework.beans.factory.annotation.Autowired;
010import org.springframework.context.annotation.Bean;
011import org.springframework.context.annotation.Configuration;
012import org.springframework.context.annotation.Import;
013
014/**
015 * @deprecated
016 */
017@Deprecated
018@Configuration
019@Import({ XmlServiceConfig.class })
020public class Log4JConfig {
021
022        protected static final String SPRING = "org.springframework";
023        protected static final String STDOUT = "stdout";
024
025        @Autowired
026        XmlServiceConfig xmlServiceConfig;
027
028        @Bean
029        public org.kuali.common.util.log4j.Log4JService log4jService() {
030                XmlService service = xmlServiceConfig.xmlService();
031                return new org.kuali.common.util.log4j.DefaultLog4JService(service);
032        }
033
034        @Bean
035        public org.kuali.common.util.log4j.model.Log4JContext log4JContextDefault() {
036                return getLog4JContext(org.kuali.common.util.log4j.Log4JPatternConstants.DEFAULT, org.kuali.common.util.log4j.model.Value.INFO);
037        }
038
039        @Bean
040        public org.kuali.common.util.log4j.model.Log4JContext log4JContextTest() {
041                return getLog4JContext(org.kuali.common.util.log4j.Log4JPatternConstants.DEBUG, org.kuali.common.util.log4j.model.Value.INFO);
042        }
043
044        @Bean
045        public org.kuali.common.util.log4j.model.Log4JContext log4JContextDebug() {
046                return getLog4JContext(org.kuali.common.util.log4j.Log4JPatternConstants.DEBUG, org.kuali.common.util.log4j.model.Value.DEBUG);
047        }
048
049        @Bean
050        public org.kuali.common.util.log4j.model.Log4JContext log4JContextMaven() {
051                org.kuali.common.util.log4j.model.Log4JContext context = getLog4JContext(org.kuali.common.util.log4j.Log4JPatternConstants.MAVEN,org.kuali.common.util.log4j.model.Value.INFO);
052                // Tone down Spring logging when we are running a build
053                org.kuali.common.util.log4j.model.Logger spring = new org.kuali.common.util.log4j.model.Logger(SPRING, new org.kuali.common.util.log4j.model.Level(org.kuali.common.util.log4j.model.Value.WARN));
054                context.setLoggers(Arrays.asList(spring));
055                return context;
056        }
057
058        protected org.kuali.common.util.log4j.model.Log4JContext getLog4JContext(String pattern, org.kuali.common.util.log4j.model.Value value) {
059                org.kuali.common.util.log4j.model.Param param = new org.kuali.common.util.log4j.model.param.ConversionPatternParam(pattern);
060                org.kuali.common.util.log4j.model.Layout layout = new org.kuali.common.util.log4j.model.Layout(PatternLayout.class, param);
061                org.kuali.common.util.log4j.model.Appender console = new org.kuali.common.util.log4j.model.Appender(STDOUT, ConsoleAppender.class, layout);
062                org.kuali.common.util.log4j.model.AppenderRef ref = new org.kuali.common.util.log4j.model.AppenderRef(console.getName());
063                org.kuali.common.util.log4j.model.Logger root = new org.kuali.common.util.log4j.model.Logger(ref, new org.kuali.common.util.log4j.model.Level(value));
064                return new org.kuali.common.util.log4j.model.Log4JContext(console, root, true);
065        }
066}