log4j java project_Log4j日志在java项目中的使用(附工程源码)

一、关于Log4j日志

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。

此外,通过Log4j其他语言接口,您可以在C、C++、.Net、PL/SQL程序中使用Log4j,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。而且,通过使用各种第三方扩展,您可以很方便地将Log4j集成到J2EE、JINI甚至是SNMP应用中。

二、Log4j使用前必须要了解的一些概念

2.1、日志信息的优先级

日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优 先级从高到低分别是ERROR、WARN、INFO、DEBUG。而且在企业中一般也只使用着四种。下面是各个级别的极介绍:

OFF 最高等级,用于关闭所有日志记录。

FATAL 指出每个严重的错误事件将会导致应用程序的退出。

ERROR 指出虽然发生错误事件,但仍然不影响系统的继续运行。

WARN 表明会出现潜在的错误情形。

INFO 一般和在粗粒度级别上,强调应用程序的运行全程。

DEBUG 一般用于细粒度级别上,对调试应用程序非常有帮助。

ALL 最低等级,用于打开所有日志记录。

2.2、日志信息的输出目的地

日志信息的输出目的地指定了日志将打印到控制台还是文件中。参考如下配置文件log4j.properties,其既配置了输出到控制台,也配置了输出到日志文件中:

### 设置###

log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target = System.out

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=D://logs/debug.log ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = D://logs/debug.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = DEBUG

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

### 输出ERROR 级别以上的日志到=D://logs/error.log ###

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender

log4j.appender.E.File =D://logs/error.log

log4j.appender.E.Append = true

log4j.appender.E.Threshold = ERROR

log4j.appender.E.layout = org.apache.log4j.PatternLayout

log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

其中log4j.appender.D.Threshold是一个过滤器,配置了表示输出该级别及其以上的日志,

另外log4j.appender.D.Append = true一般输出到文件的都会配置,而且配置成true,true:表示添加,false:表示覆盖。

2.3、配置日志信息的格式

2.2中的log4j.properties配置文件中,应该会看log4j.appender.*.layout,这表示输出的日志格式配置。

log4j.appender.*.layout值的选择有以下几种:

org.apache.log4j.HTMLLayout(以HTML表格形式布局),

org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

一般我们都采用第二种org.apache.log4j.PatternLayout,自定义格式,如2.2中的log4j.properties配置文件中,这种格式需要我们自定义,这里小宝鸽如下定义:

log4j.appender.*.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

其中含义介绍:

%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%r 输出自应用启动到输出该log信息耗费的毫秒数

%c 输出所属的类目,通常就是所在类的全名

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

三、Log4j在java中的使用

本项目使用的环境:eclipse + maven 。

3.1、新建maven项目

(Packagding 选war,因为后面会讲到其在web项目中的使用,同样用这个新建的项目),如果不知道如何新建maven项目的,可以参考博主另外一篇文章:

http://blog.csdn.net/wushiwude/article/details/54312279

3.2、在pom.xml添加Log4j的jar包依赖:

4.0.0

com.luo

log4j

0.0.1-SNAPSHOT

war

1.6.6

1.2.12

log4j

log4j

${log4j.version}

org.slf4j

slf4j-api

${slf4j.version}

org.slf4j

slf4j-log4j12

${slf4j.version}

3.3、添加配置文件和测试类

f862df80fa675758cbb658a2dcd8cda7.png

log4j.properties内容如下:

### 设置###

log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###

log4j.appender.stdout = org.apache.log4j.ConsoleAppender

log4j.appender.stdout.Target = System.out

log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志到=D://logs/debug.log ###

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender

log4j.appender.D.File = D://logs/debug.log

log4j.appender.D.Append = true

log4j.appender.D.Threshold = DEBUG

log4j.appender.D.layout = org.apache.log4j.PatternLayout

log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

### 输出ERROR 级别以上的日志到=D://logs/error.log ###

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender

log4j.appender.E.File =D://logs/error.log

log4j.appender.E.Append = true

log4j.appender.E.Threshold = ERROR

log4j.appender.E.layout = org.apache.log4j.PatternLayout

log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

LogTest.java内容如下:

packagecom.luo.log;importorg.apache.log4j.Logger;public classLogTest {private static Logger logger = Logger.getLogger(LogTest.class);public static voidmain(String[] args) {//记录debug级别的信息

logger.debug("This is debug message.");//记录info级别的信息

logger.info("This is info message.");//记录error级别的信息

logger.error("This is error message.");

}

}

3.4、运行结果

运行LogTest.java,会看到控制台如下结果:

6b8762052bb58c1cd450c6231238ee36.png

另外,D:\logs下也会多了两个log文件,且内容如下图:

211a47678b1cec09f3aa1c96e1045182.png

13894e3a8e2e5cee8903df11c960caa1.png

6da4c05b9a429378c1eb5063d055ca0f.png

### 回答1: 答:Vue 通过 axios 库来连接后端,下面给出的是演示源码:// 引入 axios import axios from 'axios'// 设置基础 URL axios.defaults.baseURL = 'http://localhost:3000'// 获取数据 axios.get('/data').then(response => { // 处理数据 ... })// 提交数据 axios.post('/data', { data: 'data' }).then(response => { // 处理响应 ... }) ### 回答2: Vue是一种适用于构建用户界面的JavaScript框架,而连接后端主要是指使用Vue与后端服务器进行通信,实现数据的传输与交互。下面是一些连接后端的详细步骤以及相关源码示例: 步骤1:创建Vue项目 首先,我们需要使用Vue CLI创建一个基本的Vue项目。在命令行执行以下命令: ``` vue create vue-backend-connection ``` 步骤2:安装Axios Axios是一个常用的JavaScript库,用于进行HTTP请求。在项目目录执行以下命令安装Axios: ``` npm install axios ``` 步骤3:在Vue组件发送请求 在Vue组件,我们可以使用Axios发送HTTP请求与后端进行通信。以下是一个简单的示例,发送GET请求获取后端返回的数据: ```javascript <template> <div> <button @click="getData">获取数据</button> <p>{{ responseData }}</p> </div> </template> <script> import axios from 'axios'; export default { data() { return { responseData: '' } }, methods: { async getData() { try { const response = await axios.get('http://后端服务器地址/api/data'); this.responseData = response.data; } catch (error) { console.error(error); } } } } </script> ``` 步骤4:处理后端请求 在后端服务器,我们需要根据请求的路径进行相应的处理,并返回数据给前端。以下是一个使用Express框架的示例: ```javascript const express = require('express'); const app = express(); app.get('/api/data', (req, res) => { const responseData = { message: 'Hello from the backend!' }; res.json(responseData); }); app.listen(3000, () => { console.log('后端服务器启动成功!'); }); ``` 步骤5:运行项目 最后,执行以下命令在本地运行Vue项目: ``` npm run serve ``` 通过以上步骤,我们成功地连接了Vue与后端服务器,实现了数据的传输与交互。 注意:在实际开发,需要根据具体的后端框架和要求进行相应的配置和处理。以上示例仅提供了一个基本的连接后端的思路和示例代码。 ### 回答3: Vue连接后台的详细步骤如下: 1. 安装Vue CLI:首先确保你已经安装了Node.js,然后打开命令行工具,运行以下命令安装Vue CLI:`npm install -g @vue/cli`。这将全局安装Vue CLI用于创建和管理Vue项目。 2. 创建Vue项目:运行命令`vue create project-name`创建一个新的Vue项目。根据提示进行配置,选择使用默认配置或手动配置,然后等待项目创建完成。 3. 安装Vue Router:在项目目录下运行命令`npm install vue-router`,安装Vue Router用于实现前端路由。 4. 创建后端API:在后端创建API接口用于提供数据。根据后台框架的不同,可以使用Express或Django等来创建API接口。 5. 使用Axios发送请求:在Vue项目使用Axios发送HTTP请求到后端API接口。在main.js文件添加以下代码引入Axios:`import axios from 'axios'`。然后通过`Vue.prototype.$http = axios`将Axios绑定到Vue实例上,使其在整个项目都可以使用。 6. 创建Vuex状态管理:如果需要在工程使用Vuex进行状态管理,可以使用`npm install vuex`安装Vuex,然后在项目创建store.js文件配置Vuex。 7. 在Vue组件使用API:在Vue组件使用Axios发送请求调用后端API。根据需要创建不同的Vue组件,在组件使用Axios发送请求获取和更新数据。 8. 使用Vue Router配置路由:在router.js文件配置Vue Router,根据需要定义不同的路由规则和组件。通过Vue Router实现前端路由导航。 9. 运行项目:完成以上步骤后,运行`npm run serve`命令启动项目。浏览器会自动打开,并展示Vue应用程序。在浏览器进行操作,即可与后端进行数据交互。 以下是一个简单的Vue组件与后端API交互的示例代码: ```javascript // 在组件发送HTTP请求获取数据 export default { data() { return { data: [] } }, mounted() { this.getData(); }, methods: { getData() { this.$http.get('/api/data') .then(response => { this.data = response.data; }) .catch(error => { console.log(error); }); } } } ``` 这是一个基本的连接Vue和后端的步骤,你可以根据实际情况进行扩展和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值