SSH(三)资源分类和日志管理

上篇博文已经分别介绍了如何搭建SSH开发环境以及对SSH三个框架的整合。整合完成之后,我们基本上就可以正常的开始一个基于SSH框架开发的项目了。本篇博文介绍的资源分类日志管理都是一些锦上添花的配置。利用这些,来清晰我们的思路,便利我们的编程。

先来说说资源分类吧。这里的资源分类是指对项目中代码或者配置文件等的一个分类管理。以下截图中的分类只是参考,主要是对于资源分类管理思想上的重视。我们要知道,一个结构清晰骨架简洁的项目是极其方便团队开发,同时也可加快新人或者他人对该项目的理解。

再来说说日志管理,一般稍大型的项目都会加入日志管理。日志模块基本是一个必不可少的部分,它对调试,记录运行,问题定位都起到很重要的作用。我们常见的日志工具有很多:sf4j、commons-logging、log4j、JDK自带logging等。这些日志框架的常用功能和使用方式都是大体相同的。在这里我想要格外说的就是sf4j,它不同于log4j或者logging等日志工具。sf4j是一个管理日志工具的工具。加入它是为了应对项目中日志框架的变化,例如开始使用的log4j,但是后期因为某种原因想要更换为commons-logging,如果使用了sf4j,开发人员只需要调用slf4j即可,然后slf4j根据开发人员加入的不同的jar包,来调用相应的日志工具。

当前项目中我们使用的日志工具就是sf4j和log4j,下图是使用log4j我们需要加入的jar包:

Log4j由三个重要的组件构成:日志信息的优先级日志信息的输出目的地日志信息的输出格式。日志信息的优先级从高到低有FATAL、ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

其中日志信息的优先级别FATAL、ERROR、WARN、INFO、DEBUG分别代表:严重错误、错误、警告、一般信息、调试信息

关于日志级别的设置,在log4j.properties文件中:

### direct logmessages to stdout ###

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=%d{ABSOLUTE}%5p %c{1}:%L - %m%n

### direct messagesto file hibernate.log ###

#log4j.appender.file=org.apache.log4j.FileAppender

#log4j.appender.file.File=hibernate.log

#log4j.appender.file.layout=org.apache.log4j.PatternLayout

#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE}%5p %c{1}:%L - %m%n

### set log levels -for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=error,stdout

#log4j.logger.org.hibernate=info

#log4j.logger.org.hibernate=debug

log4j.logger.cn.itcast.oa=debug

     log4j.rootLogger=error,stdout

通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。

     log4j.logger.cn.itcast.oa=debug

则是单独设置某个项目中的某个包的日志级别。

加入jar包和配置文件,我们就可以使用日志管理我们的项目了。下面就是我对加入日志的一个测试。测试类代码:

package cn.itcast.oa.test;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;

public class LogTest {

	private Log log = LogFactory.getLog(this.getClass());

	@Test
	public void test() {
		log.debug("这是debug信息");
		log.info("这是info信息");
		log.warn("这是warn信息");
		log.error("这是error信息");
		log.fatal("这是fatal信息");
	}
}

当我们在log4j.properties配置文件中设置不同的日志级别时,控制台打印的信息应该也是不尽相同。先看日志级别为debug:

    log4j.rootLogger=debug,stdout

debug是最低级别,应该比它级别高的日志都应该被打印出来。显示结果为:

再对比看一下,设置日志级别为error。比它低的日志级别信息应该是不能被打印出来的。

    log4j.rootLogger=error,stdout

显示结果为:

至此,关于资源分类和日志管理,我们有了一个最基础的了解,具体深入的使用还需要继续在项目中摸索学习。

时间: 2024-08-05 23:52:59

SSH(三)资源分类和日志管理的相关文章

Nginx(三)-- 配置文件之日志管理

1.日志文件的默认存放位置 默认的日志文件存放位置在:nginx/logs/ 文件夹下,logs文件夹下有:access.log   error.log   nginx.pid 文件 2.nginx.conf 中的日志 配置 nginx.conf中是将日志文件的配置注释掉的,如下: #access_log  logs/host.access.log  main; 日志声明     路径及文件名     日志标识 $remote_addr 与$http_x_forwarded_for 用以记录客户

Linux日志管理与分类

Linux默认系统日志   /var/log/messages 这是Linux最核心的日志文件,假若某个服务没有定义日志文件,那么该服务产生的日志文件就会记录到这个文件中,该日志每周归档一次,默认只保留5次.归档的方法都是由"/etc/logrotate.conf"这个文件来控制的.这个日志也有个守护进程"rsyslogd"如果把这个服务停止掉,就不会产生日志,在centos6之前的版本是由"syslogd"这个守护进程来管理的,不管是"

设备资源管理系统-日志管理

设备资源管理系统-日志管理 数据库设计 日志管理在项目中的作用 * 记录系统的错误日志,便于管理员去维护和管理系统的安全.性能. * 在登录系统的操作中,也要添加日志,便于管理员查看当前系统的使用情况. * 使用日志可以记录当前数据的新增.修改.删除由哪些用户操作. * 使用者:admin/admin 超级管理员和公司领导 实现日志管理的方法: * 1.使用log4j,维护系统日志 * 2.数据库表的形式,维护系统日志 添加日志 操作 1.在系统XXXXXAction层中调用,传递2个参数 *

ELK统一日志管理平台第三篇-logstash grok插件的使用

1. ELK统一日志管理平台第三篇-logstash grok插件的使用   在本篇博文中,主要讲解如下几个知识点和实践经验,供大家参考:   1. 关于JAVA应用程序的日志内容标准规范:   2. 如何使用logstash的grok插件来完成message字段的拆分:   3. 定时删除Es的索引: 1. 关于JAVA应用程序的日志内容标准规范:   最近公司一直在主推ELK这个项目,而我是ELK这个项目的运维人员.所以针对ELK项目会有很多经验输出:由于我们公司的业务系统以JAVA语言开发

Nginx教程(三) Nginx日志管理

1 日志管理 1.1 Nginx日志描述 通过访问日志,你可以得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某个服务或server的性能瓶颈等.因此,将日志好好利用,你可以得到很多有价值的信息. 1.2 Nginx日志格式 打开nginx.conf配置文件:vim /usr/local/nginx/conf/nginx.conf 日志部分内容: #access_log  logs/access.log  main; 日志生成的到Nginx根目录lo

Monkey简单操作(三,日志管理)

. monkey日志管理 adb shell monkey –v –v 100 >d:\monkeylog.log保存到本地要保存在手机的话,首先需要进入adb shell然后在运行monkey +目标路径(通常在sdcard下保存)错误流和标准流日志文件分开保存:adb shell monkey –v 100 1>d:\monkey.log 2>d:\error.log1表示标准流,2表示错误流(错误信息) 不管是在项目开发还是测试过程中,项目运行一旦出现问题日志信息就非常重要了.日志

Java程序员须知的七个日志管理工具(转)

Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm 英文原文:The 7 Log Management Tools You Need To Know 日志管理工具有 Splunk.Sumo Logic.LogStash.GrayLog.Loggly 和 PaperTrails 等等,数不胜数.日志就像石油,二十多年了我们一直想摆脱它,却一直没有做到. 为了处理日益增长

Linux下的计划任务和日志管理

Linux下的计划任务和日志管理   一:实验环境: 1:虚拟机 2:两个linux系统 二:实验目标 1:at 定制单次执行的计划任务 2:cron定制周期性计划任务 3:配置脚本实现周期性任务 4:配置公司内网服务器每天自动开关机 5:Linux系统日志记录规律 6:自定义日志记录方式 7:配置远程收集日志服务器 三:实验步骤 1):at 定制单次执行的计划任务 第一块 at 定制单次执行的计划任务 前提:服务:atd  必须开启 #查询atd是否运行,只有运行,才能工作. [[email 

Linux计划任务和日志管理

计划任务 日志. 搭建远程日志管理 计划任务 at  只能执行一次 语法: at time(时间) 服务: atd 必须开启      [[email protected] ~]# /etc/init.d/atd status  #查看atd服务状态      atd (pid  2108) is running... 创建计划任务      [[email protected] ~]# at 16:07      at> echo `date` > /tmp/date.txt      at