先来看看一些关于一些jar包的一些问题:
1.为什么要使用jar包?
官方提供的一些包功能之外,如果想拓展一些别的功能,你就可以借助引入一些别的第三方jar包用来扩展项目的功能.
2.如何引用第三方jar包?
①.先获取jar包(需要知道jar名 与 jar的版本获取jar包)
②.把jar包引入至项目
外部项目 内部项目 和 自定义library三种方法.
③.引入步骤:
(这里写的都是要点击的按钮名称)
1).项目 –> build path –>configure build path –>library
–>add ExternalJARs(外部) / add JARs(内部) / add library(自定义)
2).add ExternalJARs(外部) –> 通过绝对路径索引到所需的jar包,添加并引用
add JARs(内部) –> 将所需的jar包 复制至项目的lib 将所需jar包添加并应用
add library(自定义) –> user library –> 新建 –>add JARs
–>工作环境下查找对应的jar包并应用
现在正是开始说log4j.
使用log4j的优势:
1.可以有6中不同级别的信息打印方式
2.可以选择多种打印输出源 –> console(控制台)/file(文件)
3.打印时可以丰富打印信息
import org.apache.log4j.Logger;
首先给出jar包下载地址:jar包下载地址
具体使用方法:
1.导入log4j依赖包
2.创建log4j对象
3.使用对象方法
所需配置文件:log4j.properties
注意:配置文件具有编码问题;
配置文件需存放在工程目录src下
一个log4j - 1.2.16包;
一个commons-logging-1.1.1包
log4j.properties配置文件:
## 级别知识点讲解
## 八种级别:
## 高 ------------------- >低
## OFF > FAFTA > ERROR > WARN > INFO > DEBUG > TRACE > ALL
## 关闭 致命 错误 警告 信息 测试 痕迹 全部
## 六种打印级别:FAFTA > ERROR > WRAN > INFO > DEBUG > TRACE
## 设置配置文件
## 配置文件名必须是log4j.properties
## 必须保存在项目目录src下
## 设置root logger 的 级别 和 log的名字(可以自定义)
log4j.rootLogger = INFO , out
## 设置appender(输出源 目的地)
log4j.appender.out = org.apache.log4j.ConsoleAppender
## 设layout置(布局 格式)信息
## PatternLayout ==> log4j 1.x info level message.
## SimpleLayOut ==> INFO - log4j 1.x info level message.
## TTCCLayOut ==> [main] INFO lesson.ls03.Log4j03- user message
log4j.appender.out.layout = org.apache.log4j.PatternLayout
## 设置特定logger的自身优先级(特定的优先级 <= rootLogger的优先级)
log4j.appender.out.Threshold = warn
## 是否立即打印
log4j.appender.source.ImmediateFlush = true
## 设置打印的target(out流 / err流)
log4j.appender.out.Target = System.out
## 格式化输出的Layout(ConversionPattern)
log4j.appender.out.layout.ConversionPattern = [%d{yyyy-MM-dd HH:mm:ss:SSS}] [%p] [%t] [%l] - %m%n
## 格式化语法
## 时间 ==> %d{yyyy-MM-dd HH:mm:ss:SSS}
## 级别 ==> %p
## 线程 ==> %t
## 信息产生的详细位置 ==> %l
## 打印信息 ==> %m
## 换行 ==> %n
## 所属类 ==> %c
## 耗时 ==> %r
## 注意:非转义字符原样输出
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
getLogger() 参数:
不写参数 默认为当前类.class
写参数后 作为当前logger名
log4j 2.x 具体使用
1.导入log4j依赖包
2.创建log4j对象
3.使用对象方法
log4j 2.x 配置文件
1.采用 json / xml 格式文件进行配置
2.存在4种配置文件命名
高————–>低
log4j2-test.json(jsn) > log4j2-test.xml > log4j2.json(jsn) > log4j2.xml
3.配置文件存放在项目目录src下
log4j - api - 2.10.0包
log4j - core - 2.10.0包
<?xml version="1.0" encoding="UTF-8"?>
<!--
xml文件:
1.xml中以标签作为"盒子"存储数据
2.xml中所有标签必须闭合
3.xml中无任何预定义标签(系统标签) 只能自己定义标签
4.xml中一个文件只能拥有一个根标签
5.xml中标签可以拥有 属性 和 值
-->
<!--
标签:被<>包裹,以字母开头.可以结合合法字符,且可以被解析的标记
-->
<!-- 设置配置文件根标签:Configuration -->
<!-- status属性: 设置log4j2 自身 Log级别 -->
<!-- monitorInterval属性: 检查文件修改,设置刷新的时间间隔(ms) -->
<Configuration status = "error" monitorInterval = "30" >
<!-- 设置 properties: 辅助file输出源 -->
<propreties>
<!--
内容log为项目根目录下文件名
name属性值LOG_HOME为配置文件中 实体文件夹 log 的别名
-->
<property name = "LOG_HOME">log</property>
</propreties>
<!-- 设置输出源们 -->
<Appenders>
<!-- 设置控制台输出 -->
<!--
name属性: appender的名字(自定义)
tsrget属性: 采用的target(out流 / err流)
-->
<Console name = "Console" target = "System_out">
<!-- 设置输出信息的格式 -->
<patternLayout pattern = "[%d{HH:mm:ss SSS}][%-5level] [%l] %msg%n" />
</Console>
<!-- 设置文件输出 -->
<File name = "Normal" filename = "$[LOG_HOME]/log4j2.log" append = "true">
<patternLayout pattern = "[%d{yyyy-MM-dd HH:mm:ss SSS}][%-5level] [%l] %msg%n" />
</File>
</Appenders>
<!-- 设置打印者:采用默认root logger -->
<Loggers>
<Root level = "info">
<!--为 logger 引用 appender -->
<AppenderRef ref = "Console" />
<AppenderRef ref = "Normal"/>
</Root>
</Loggers>
</Configuration>