发表于: 2017-11-27 23:27:22
1 634
今天完成的事情:
1.主要学习log4j
2.看了看阿里云的API
(1)早先注册过阿里云。这次开启OSS存储
(2)存储空间(Bucket)
- 同一个存储空间的内部是扁平的,没有文件系统的目录等概念,所有的对象都直接隶属于其对应的存储空间。
- 每个用户可以拥有多个存储空间。
- 存储空间的名称在 OSS 范围内必须是全局唯一的,一旦创建之后无法修改名称。
- 存储空间内部的对象数目没有限制。
- 只能包括小写字母、数字和短横线(-)。
- 必须以小写字母或者数字开头和结尾。
- 长度必须在3-63字节之间。
- 存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。您可以设置和修改存储空间属性用来控制地域、访问权限、生命周期等,这些属性设置直接作用于该存储空间内所有对象,因此您可以通过灵活创建不同的存储空间来完成不同的管理功能。
- (3)存储空间的命名规范如下:
- 只能包括小写字母、数字和短横线(-)。
- 必须以小写字母或者数字开头和结尾。
- 长度必须在3-63字节之间。
明天计划的事情:
继续做任务,要沉淀菜鸡的自己。
遇到的问题:
日志的输出过程有过报错,主要原因是没有搞通配置文件的加载过程
收获:
Log4j 由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有 ERROR 、 WARN 、 INFO 、 DEBUG ,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
1.配置Appender
(1)--log4j.appender.appenderName= appenderClassName
appenderClassName必须为类的全名,log4j提供以下几种:
1)org.apache.log4j.ConsoleAppender : 控制台
2)org.apache.log4j.FileAppender : 文件
3)org.apache.log4j.DailyRollingFileAppender : 每天产生一个新的日志文件
4)org.apache.log4j.RollingFileAppender : 文件达到指定大小时产生一个新的日志文件
5)org.apache.log4j.WriterAppender : 将日志以流形式发送到任意指定地方
(2)--log4j.appender.appenderName.option1= value1
option根据appenderClass的不同而有所区别,但有些是共同的.
option为layout时指定appenderName的布局
--log4j.appender.appenderName.layout= layoutClassName
--log4j.appender.appenderName.layout.option1= value1
layoutClassName必须为类的全名,log4j提供以下几种:
1)org.apache.log4j.HTMLLayout : 以HTML表格形式布局
2)org.apache.log4j.PatternLayout : 指定格式布局
3)org.apache.log4j.SimpleLayout : 包含日志级别和信息的字符串
4)org.apache.log4j.TTCCLayout : 包含日志产生的时间、线程、类别等等信息
(3)option根据layoutClass的不同而有所区别,但有些是共同的.
option为ConversionPattern时指定布局格式.
--log4j.appender.appenderName.layout.ConversionPattern= PatternString
PatternString为格式字符串,如下
1)%m : 要输出的信息
2)%p : 输出级别
3)%r : 输出自应用启动到输出该log信息耗费的毫秒数
4)%c : 输出所在类全名
5)%t : 线程名
6)%n : 换行符(根据平台不同而不同)
7)%d : 输出日期和时间,可以指定格式,如: %d{yyyy MM dd HH:mm:ss}
8)%l : 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
2.得到记录器
使用 Log4j ,第一步就是获取日志记录器,这个记录器将负责控制日志信息。
其语法为: public static Logger getLogger( String name)
3.加载配置文件
(1)自动加载配置文件:
log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,在build Path中设置下就好了。
(2)若要手动加载配置文件如下:
1)PropertyConfigurator.configure("log4j.properties") 默认读取的是项目根目录的路径。此时的log4j.properties要放在项目目录下。
2)一般,一个java项目会有很多的配置文件,建议把所有的配置文件放到一个文件夹下
3)如果不手动设置,不用人为的写加载log.properties文件的代码时,直接放src目录下,千万要记得,如果新建一个JAVA项目,src文件要弄成原文件包才行
4)项目打成jar包时,一般不会把配置文件也打进jar包
如果是第一种方式,直接将log4j.properties文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。
如果是第二种方式,要建立config文件夹,把配置文件放入其中,再将config文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。
评论