1.目录结构
2.java测试码
package com.test.main; import java.net.URL; import org.slf4j.ILoggerFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.core.io.ClassPathResource; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.joran.JoranConfigurator; public final class Boot { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception{ Logger logger = LoggerFactory.getLogger(Boot.class); //从web.xml读配置 ApplicationContext ctx = new ClassPathXmlApplicationContext("config/applicationContext.xml"); // A a = (A) ctx.getBean("a"); // a.sayHello(); EntityTestTwo a = (EntityTestTwo)ctx.getBean("entityTwo"); //SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-ss"); //a.setBeginDate(new Date()); // a.setSex(222); a.setTel("11111111111"); //logger. //String path = System.getProperty("user.dir"); //BasicConfigurator.configure(); // PropertyConfigurator.configure(new ClassPathResource("config/logback.properties").getURL()); // System.out.println(new ClassPathResource("config/logback.properties").getURL()); String logbackCfg = "config/logback.xml"; URL logURL = new ClassPathResource(logbackCfg).getURL(); System.out.println(logURL); ILoggerFactory loggerFactory = LoggerFactory.getILoggerFactory(); LoggerContext loggerContext = (LoggerContext) loggerFactory; //loggerContext.reset(); JoranConfigurator configurator = new JoranConfigurator(); configurator.setContext(loggerContext); configurator.doConfigure(logURL); logger.debug("dddd"); logger.info("wowowow"); logger.error("yanzhengosss"); // PropertyConfigurator.configure("/config/log4j.properties"); //B b = (B) ctx.getBean("b"); //b.sayHi(); // /*String className="com.test.main.EntityTest"; Class test = null; try { test = Class.forName(className); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } Method[] methods = test.getMethods(); Set<Method> set = new HashSet<Method>(); for(int i=0;i<methods.length;i++) { boolean otherFlag = methods[i].isAnnotationPresent(AnotationTest.class); if(otherFlag) set.add(methods[i]); } for(Method m: set) { AnotationTest anotationTest = m.getAnnotation(AnotationTest.class); System.out.println(anotationTest.regExp()); System.out.println("创建的社区:"+anotationTest.ifTip()); }*/ } }
3.配置文件
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <Property name="log.base" value="./logs/anttesttools" /> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${log.base}.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <FileNamePattern>${log.base}.%i.log</FileNamePattern> <MinIndex>1</MinIndex> <MaxIndex>5</MaxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>5MB</MaxFileSize> </triggeringPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern>%date [%thread] %-5level %logger{80} - %msg%n</Pattern> </layout> </appender> <logger name="anttesttools" level="debug" /> <root level="debug"> <appender-ref ref="FILE" /> </root> </configuration>
4.日志输出
2009-11-22 17:27:57,192 [main] ERROR com.test.main.Boot - yanzhengosss 2009-11-22 17:30:16,470 [main] DEBUG com.test.main.Boot - dddd 2009-11-22 17:30:16,470 [main] INFO com.test.main.Boot - wowowow 2009-11-22 17:30:16,470 [main] ERROR com.test.main.Boot - yanzhengosss 2009-11-22 17:37:58,262 [main] DEBUG com.test.main.Boot - dddd 2009-11-22 17:37:58,278 [main] INFO com.test.main.Boot - wowowow 2009-11-22 17:37:58,278 [main] ERROR com.test.main.Boot - yanzhengosss 2009-11-22 17:38:15,049 [main] DEBUG com.test.main.Boot - dddd 2009-11-22 17:38:15,064 [main] INFO com.test.main.Boot - wowowow 2009-11-22 17:38:15,064 [main] ERROR com.test.main.Boot - yanzhengosss 2009-11-22 17:43:37,366 [main] DEBUG com.test.main.Boot - dddd 2009-11-22 17:43:37,366 [main] INFO com.test.main.Boot - wowowow 2009-11-22 17:43:37,366 [main] ERROR com.test.main.Boot - yanzhengosss 2009-11-22 17:44:09,270 [main] DEBUG com.test.main.Boot - dddd 2009-11-22 17:44:09,270 [main] INFO com.test.main.Boot - wowowow 2009-11-22 17:44:09,286 [main] ERROR com.test.main.Boot - yanzhengosss 2009-11-22 17:44:58,741 [main] DEBUG com.test.main.Boot - dddd 2009-11-22 17:44:58,741 [main] INFO com.test.main.Boot - wowowow 2009-11-22 17:44:58,741 [main] ERROR com.test.main.Boot - yanzhengosss 2009-11-22 18:26:29,220 [main] DEBUG com.test.main.Boot - dddd 2009-11-22 18:26:29,236 [main] INFO com.test.main.Boot - wowowow 2009-11-22 18:26:29,236 [main] ERROR com.test.main.Boot - yanzhengosss