日志在一个系统中的重要性还是很大的,有时候项目部署到服务器上,不可能使用断点调试的方式,只能从日志文件中查找蛛丝马迹。
这边是使用的slf4j。
在pom文件中添加slf4j
<!-- 日志包 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.13</version> </dependency>
然后再类中使用:
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Main { private static final Logger logger = LoggerFactory.getLogger(Main.class); public static void main(String[] args) { logger.info("HelloWorld"); } }
这时候运行应该会出这个问题:
log4j:WARN No appenders could be found for logger (com.lizhaobolg.Main). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.是log的配置文件没有设置,我们需要在resource中添加log4j.xml
注意下,这个文件中的<appender name="file">这个标签,是打印日志时,同时生成日志文件,配置的时候最好一句话记得加上<appender-ref ref="file" />。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <!-- Appenders --> <appender name="console" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.out" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %c - %m%n" /> </layout> </appender> <appender name="file" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="logs/server.log" /> <param name="DatePattern" value="'.'yyyy-MM-dd'.log'" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS\} %-5p] [%t] %c{3\} - %m%n" /> </layout> </appender> <!-- Application Loggers --> <logger name="com.fh"> <level value="info" /> </logger> <!-- 3rdparty Loggers --> <logger name="org.springframework.core"> <level value="info" /> </logger> <logger name="org.springframework.beans"> <level value="info" /> </logger> <logger name="org.springframework.context"> <level value="info" /> </logger> <logger name="org.springframework.web"> <level value="info" /> </logger> <logger name="org.springframework.jdbc"> <level value="info" /> </logger> <logger name="org.mybatis.spring"> <level value="info" /> </logger> <logger name="java.sql"> <level value="info" /> </logger> <logger name="net.sf.ehcache.store.disk.Segment"> <level value="warn" /> </logger> <!-- Root Logger --> <root> <priority value="debug" /> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> </log4j:configuration>
nice
上面的代码在码云上 https://gitee.com/lizhaoandroid/JgServer
可以加qq群一起探讨Java游戏服务器开发的相关知识 676231524