在項目中快速部署SLF4J+LOGBACK
想了解SLF4J,LOGBACK是什么?可以访问:http://www.slf4j.org/ http://logback.qos.ch/
本文大部分参考了Cody Burleson《How to setup SLF4J and LOGBack in a web app - fast》
如果你想看原汁原味的英文版,可以访问:https://wiki.base22.com/display/btg/How+to+setup+SLF4J+and+LOGBack+in+a+web+app+-+fast
我的開發環境
開發工具: springsource-tool-suite-2.9.0
JDK版本: 1.6.0_29
tomcat版本:apache-tomcat-7.0.26
本文地址: http://www.cnblogs.com/sunang/p/3433987.html 轉載請注明出處^_^
now go!
step1.引入jar包
Maven代碼:
<!-- SLF4J&LOGBACK -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
step2.編輯LOGBack配置文件
路徑:
代碼:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 輸出到控制台 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</Pattern><!-- 日誌格式 -->
</layout>
</appender>
<!-- 輸出到文件 -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>MyLog.log</file><!-- 指定日誌文件路徑,本地環境下,根目錄為IDE安裝目錄 -->
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</Pattern><!-- 日誌格式 -->
</layout>
</appender>
<logger name="www.asuan" level="TRACE" /><!-- 包路徑根據你的開發環境而定 -->
<!-- 单个logger可绑定多个appender,一个appender可被多个logger所引用 -->
<root level="debug">
<!-- 引用之前定義的appender -->
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
step3.編輯controller方法,視圖頁面
package www.asuan.com.controller; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class TestController { @RequestMapping("/index")
public String index(Model model) {
final Logger LOG = LoggerFactory.getLogger(this.getClass());
LOG.trace("Hello World!");
LOG.debug("How are you today?");
LOG.info("I am fine.");
LOG.warn("I love programming.");
LOG.error("I am programming.");
return "index.ftl";
}
}
頁面代碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
運行成功,請查看Console輸出。
</body>
</html>
step4.運行與調試
部署并運行項目,瀏覽器訪問:http://localhost:8080/你的工程名/index.htm
運行結果
頁面:
console輸出結果:
在IDE路徑下(或者是你設定的其他路徑)生成了日誌文件:
日誌文件記錄了controller方法所記錄的日誌:
complete!
在項目中快速部署SLF4J+LOGBACK的更多相关文章
- 教你在Kubernetes中快速部署ES集群
摘要:ES集群是进行大数据存储和分析,快速检索的利器,本文简述了ES的集群架构,并提供了在Kubernetes中快速部署ES集群的样例:对ES集群的监控运维工具进行了介绍,并提供了部分问题定位经验,最 ...
- 在 K8S 中快速部署 Redis Cluster & Redisinsight
Redis Cluster 部署 使用 Bitnami helm chart 在 K8S redis 命名空间中一键部署 Redis cluster . helm repo add bitnami h ...
- 开发环境中快速部署Oracle Essbase(Rapid deployment of oracle essbase in development envrioments)
版本:Oracle Enterprise Performance Management System Release11.1.2.4 快速部署自动安装组件: Essbase Oracle Essbas ...
- 实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库
本文适合需要快速了解OpenGauss基本使用和操作的单机用户,可以短时间内完成安装体验.对于企业级生产使用或者需要部署多台服务器的,不适合本文. 因为业务需要,要在鲲鹏架构里安装单机版的OpenGa ...
- 通达OA在centos系统中快速部署文档(web和数据库)
通达OA2008从windows环境移植到linux中(centos5.5及以上版本) 如果安装好了,还是无法访问,则需要清空浏览器缓存即可 1.安装lamp环境,这里用的是xampp集成安装包xam ...
- ubuntu快速部署gitlab汉化容器
前言:gitlab的原理我就不扯了(看这个https://www.jianshu.com/p/567207ac51cd),下面直接上操作 1.前提: a.要有docker的运行环境,用service ...
- 使用 Sealos 在 3 分钟内快速部署一个生产级别的 Kubernetes 高可用集群
本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...
- 部署ASP.Net Core 2.1 項目到 IIS
用Asp.net core 2.1 寫了一個小的系統框架,記錄一下部署過程: 1. 首先是安裝 IIS 了,從 控制面板→程序→启用或关闭Windows功能→勾选Internet Informatio ...
- 如何在版本控制工具中管理Sencha Architect的項目
根據數次痛苦的經歷結合stack overflow上的解答,發現原來還是可以使用svn.git之類的版本控制工具管理Sencha Architect生成的項目的. 具體的要點如下,假定項目記作{PRO ...
随机推荐
- JDBC性能优化点
1). 指定数据库连接池中初始化连接数的个数
- JSONObejct属性获取
package com.beijxing.TestMain; import java.io.File; import java.io.IOException; import org.apache.co ...
- java 基本语法
标识符 标识符就是给变量.类或方法起的名字. 标识符由26个英文字符大小写(a~zA~Z).数字(0~9).下划线(_)和美元符号($)组成 不能以数字开头,不能是关键字 严格区分大小写 标识符的可以 ...
- JavaScript 随笔2 面向对象 原型链 继承
第六章 面向对象的程序设计 1.创建对象的几种方式 A)工厂模式 function CreatObj(name,sex,age){ this.name=name; this.sex=sex; this ...
- 北邮oj 题
题目描述 Every year,prince prepares a birthday gift for princess.The gift is a box,which is decorated wi ...
- iOS开发笔记之Runtime实用总结
前言 runtime的资料网上有很多了,部分有些晦涩难懂,我通过自己的学习方法总结一遍,主要讲一些常用的方法功能,以实用为主,我觉得用到印象才是最深刻的.另外runtime的知识还有很多,想要了解更多 ...
- Finder Item脚本如何包装成 Mac App
第一步,包装 记得之前把一个 java 程序的 jar 包 用 automator包装成了 app, 但自己找不到做法了.回头我想了想 这么实验可行. 这样做成 app 后保存在 /Applicati ...
- 第四十章 微服务CICD(2)- jenkins(war版)
一.下载 官网下载war包,放在tomcat下的webapps下, 第一章 tomcat安装与启动 第二章 部署war包到tomcat jenkins:2.19.1版本. 二.修改编码为utf-8 在 ...
- 冒泡排序和用for循环画菱形
忘了当时刚开始学java编程时提到的冒泡排序和for循环画菱形怎么做了, 找了找以前的练习, 重新修改了一遍, 其实冒泡排序也是可以排列字符串和字符的, package com.test; publi ...
- html导入css样式的方法
在html网页中引入css样式表主要有一下四种方法 1.行内引入 <p style="width:100px;height:40px;color:red;"></ ...