关于logbackdemo的项目撰写
撰写目标:代码运行正确,输出相关的日志信息。
第1步:引入起步依赖。
具体的起步依赖可以自行查找撰写,值得注意的是logback的起步依赖有4种。一般情况下,我们只需要引用 Classic,因为它是logback核心组件的具体实现。
第2步:撰写service类。
获得这个类的对象,将对象赋值给实例。然后记录这个类的id值的日志文件信息。
private final Logger logger = LoggerFactory.getLogger(getClass());//获得类对象。
public String demoGetStock(int id){
logger.info("demoGetStock,id is: " + id );//记录info日志。
return "demoGetStock";
}
public String demoInsertStock(){
logger.info("demoInsertStock");//记录info日志
return "demoInsertStock";
}
第3步:编写controller类
注入service类。
@RestController
public class Controller {
@Autowired
StockService stockService;
private final Logger logger = LoggerFactory.getLogger(getClass());//获取类对象
@RequestMapping("/demoGetStock/{id}")
public String demoGetStock(@PathVariable int id) {//获取链接的id值
if(id > 100) {
logger.error("demoGetStock param error");//记录错误日志
return "error";
}
logger.warn("demo warn.");//记录警告日志
logger.debug("demoGetStock, id is" + id);//记录id日志
return stockService.demoGetStock(id);
}
@RequestMapping("/demoInsertStock")
public String demoInsertStock() {
logger.debug("demoInsertStock");//记录调试日志
return stockService.demoInsertStock();
}
第4步: 编写xml文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">//控制台输出格式。
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!-- 定义日志输出的格式:%thread表示线程名,%d表示日期,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符-->
<pattern>[%thread]%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">//文件输出格式。
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log_%d{yyyy-MM-dd HH}.log</fileNamePattern>
</rollingPolicy>
<append>true</append>
<encoder>
<pattern>[%thread]%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>localhost:9601</destination>
<encoder charset="UTF-8"
class="net.logstash.logback.encoder.LogstashEncoder" >
<customFields>{"appname":"StockApp"}</customFields>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="LOGSTASH" />
</root>
</configuration>
第5步:编写springbootApp
这个较为简单,
本次项目撰写总结:
最困难的并不是spring boot的编写。而是xml文件的撰写。英语生词太多,而且逻辑理清楚非常费劲。
所以导致理解该代码都花费了大量的时间。剩下的基本上没有什么问题。
一个有趣的小事情:log4j的原意是log for java,4就是for的谐音,哈哈
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。