在
Java
中实现记录日志的方式有很多种,
1. 最简单的方式,就是system.print.out ,err 这样直接在控制台打印消息了。
2. java.util.logging ; 在JDK 1.4 版本之后,提供了日志的API ,可以往文件中写日志了。
3. log4j , 最强大的记录日志的方式。 可以通过配置 .properties 或是 .xml 的文件, 配置日志的目的地,格式等等。
4. commons-logging, 最综合和常见的日志记录方式, 经常是和log4j 结合起来使用。
system.print 这就不用多说了,
直接看一下java api 中 logging 日志的使用例子:
-
-
-
-
-
-
package
com.oscar999.log;
-
-
import
java.io.IOException;
-
import
java.util.Date;
-
import
java.util.logging.FileHandler;
-
import
java.util.logging.Formatter;
-
import
java.util.logging.Level;
-
import
java.util.logging.LogRecord;
-
import
java.util.logging.Logger;
-
-
-
public
class
TestLogJava {
-
-
public
static
void
main(String[] args)
throws
IOException{
-
Logger log = Logger.getLogger(
"tesglog"
);
-
log.setLevel(Level.ALL);
-
FileHandler fileHandler =
new
FileHandler(
"testlog.log"
);
-
fileHandler.setLevel(Level.ALL);
-
fileHandler.setFormatter(
new
LogFormatter());
-
log.addHandler(fileHandler);
-
log.info(
"This is test java util log"
);
-
}
-
-
}
-
-
class
LogFormatter
extends
Formatter {
-
@Override
-
public
String format(LogRecord record) {
-
Date date =
new
Date();
-
String sDate = date.toString();
-
return
"["
+ sDate +
"]"
+
"["
+ record.getLevel() +
"]"
-
+ record.getClass() + record.getMessage() +
"\n"
;
-
}
-
-
}
这里是在eclipse 下code 和测试的。
首先定义一个Logeer的实例,并设置log 的级别,接着添加一个fileHander ,就是把日志写到文件中。在写入文件的时候,定义一个 LogFormatter对日志进行格式的渲染。
默认状况下, 日志会打印到控制台。添加filehandler 后, 会同时写入文件。 如不指定路径,日志文件将位于项目根路径下。
log4j 是apache 提供的记录日志的jar 档。
下载路径:
http://logging.apache.org/log4j/1.2/download.html
这里要做的事情稍微要多一些:
1. 下载log4j 的jar 包,放入项目的lib 包中(添加到项目的build path中)。
2. 配置log4j.properties, 并放入项目的根路径下.(也可以放入其他路径,在读的时候需要指定)
看一下一个配置实例:
-
log4j.rootLogger
=
debug
,stdout,logfile
-
log4j.appender.stdout
=
org
.apache.log4j.ConsoleAppender
-
log4j.appender.stdout.layout
=
org
.apache.log4j.PatternLayout
-
log4j.appender.stdout.layout.ConversionPattern
=%5p [%t] (%F:%L) - %m%n
-
-
log4j.appender.logfile
=
org
.apache.log4j.RollingFileAppender
-
log4j.appender.logfile.File
=
logfile
.log
-
log4j.appender.logfile.MaxFileSize
=
512KB
-
log4j.appender.logfile.MaxBackupIndex
=
3
-
log4j.appender.logfile.layout
=
org
.apache.log4j.PatternLayout
-
log4j.appender.logfile.layout.ConversionPattern
=%d %p [%c] - %m%n
这里指定了日志输出的级别 debug.
stdout, logfile 指定日志输出的目的地。 这两个名字可以随便取,比如 A, 或B都可以。 实际的配置是 org.apache.log4j.ConsoleAppender 和RollingFileAppender 用于指定是控制台还是文件。
另外还指定了输出的格式, 已经产生的file 的规则。
3. 测试java 文件
-
-
-
-
-
-
package
com.oscar999.log;
-
-
import
org.apache.log4j.Logger;
-
import
org.apache.log4j.PropertyConfigurator;
-
-
public
class
TestLog4j {
-
-
public
static
void
main(String[] args) {
-
-
Logger log = Logger.getLogger(TestLog4j.
class
);
-
-
PropertyConfigurator.configure(
"log4j.properties"
);
-
-
log.debug(
"Here is some DEBUG"
);
-
log.info(
"Here is some INFO"
);
-
log.warn(
"Here is some WARN"
);
-
log.error(
"Here is some ERROR"
);
-
log.fatal(
"Here is some FATAL"
);
-
}
-
-
}
配置稍显麻烦,但是code 时就简单多了。
Commons-logging 也是Apache 提供的日志jar 档。
下载地址:
http://commons.apache.org/proper/commons-logging/download_logging.cgi
你有可能要问为什么有了log4j还有提供Commons-logging呢? 这两者有什么区别吗?
其实从Commons-logging这个名字就可以看出来, 这应该是一个日志的共用接口。实际上, 它的确是这样一个作用,
使用Commons-logging的
LogFactory
获取日志处理类时:
1) 首先在classpath下寻找自己的配置文件commons-logging.properties,如果找到,则使用其中定义的Log实现类;
2) 如果找不到commons-logging.properties文件,则在查找是否已定义系统环境变量org.apache.commons.logging.Log,找到则使用其定义的Log实现类;
如果在Tomact中可以建立一个叫 :CATALINA_OPTS 的环境变量
给 他的 值 : - Dorg.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog - Dorg.apache.commons.logging.simplelog.defaultlog = warn
3) 否则,查看classpath中是否有Log4j的包,如果发现,则自动使用Log4j作为日志实现类;
4) 否则,使用JDK自身的日志实现类(JDK1.4以后才有日志实现类);
5) 否则,使用commons-logging自己提供的一个简单的日志实现类SimpleLog;
先使用第一种方式来看一个实例,配置commons-logging.properties, 使用log4j来记录日志。
注意, commons-logging 要配合log4j 记录日志,必须把log4j的jar 包也导入到项目中。
1. 导入log4j 和commons-logging的jar 包
2. 配置commons-logging.properties 和 log4j.properties, 放入项目的classpath下(也就是src目录下)
注意: 单独使用log4j 的时候,log4j.properties 默认是放在项目的根目录下。
log4j.properties 的内容和上面完全相同。
看一下commons-logging.properties 的配置
-
org.apache.commons.logging.Log
=
org
.apache.commons.logging.impl.Log4JLogger
一句话,指定使用log4j
3. 测试代码:
-
-
-
-
-
-
package
com.oscar999.log;
-
-
import
org.apache.commons.logging.Log;
-
import
org.apache.commons.logging.LogFactory;
-
-
public
class
TestLogCom {
-
-
static
Log log = LogFactory.getLog(TestLog.
class
);
-
public
static
void
main(String[] args) {
-
-
log.debug(
"Here is some DEBUG"
);
-
log.info(
"Here is some INFO"
);
-
log.warn(
"Here is some WARN"
);
-
log.error(
"Here is some ERROR"
);
-
log.fatal(
"Here is some FATAL"
);
-
}
-
-
}
除了使用log4j 之外, 还可以配置
-org.apache.commons.logging.impl.
Jdk14Logger
使用JDK1.4。
-org.apache.commons.logging.impl.
Log4JLogger
使用Log4J。
-org.apache.commons.logging.impl.
LogKitLogger
使用 avalon-Logkit。
-org.apache.commons.logging.impl.
SimpleLog
common-logging自带日志实现类。它实现了Log接口,把日志消息都输出到系统错误流System.err 中。
-org.apache.commons.logging.impl.
NoOpLog
common-logging自带日志实现类。它实现了Log接口。 其输出日志的方法中不进行任何操作。
前言在Java 中实现记录日志的方式有很多种,1. 最简单的方式,就是system.print.out ,err 这样直接在控制台打印消息了。2. java.util.logging ; 在JDK 1.4 版本之后,提供了日志的API ,可以往文件中写日志了。3. log4j , 最强大的记录日志的方式。 可以通过配置 .properties 或是 .xml 的文件
款基于
JAVA
jsp的教师
日志
管理系统,该系统旨在为教师提供一种更加高效、便捷的管理
日志
的
方式
。下面将从以下几个方面详细介绍该系统的设计思路和实现。
## 系统功能
该系统主要包括以下几个功能:
- 登录注册:用户可以通过注册账号并登录系统,进行后续的
日志
管理操作。
-
日志
管理:教师可以在系统中记录每一节课的教学内容、学生表现、自我评估等
日志
信息,并可以进行修改、删除等操作。
-
日志
查询:教师可以根据日期、课程名称等条件查询自己的
日志
信息,并可以进行导出、
打印
等操作。
- 系统设置:用户可以修改个人信息、修改密码等。
## 系统实现
该系统主要使用
JAVA
jsp进行开发,前端使用HTML、CSS、
Java
Script等技术,后端使用MySQL数据库进行数据存储和管理。具体实现步骤如下:
1. 数据库设计:根据系统功能设计数据库表结构,包括用户表、
日志
表等。
2. 后端开发:使用
JAVA
jsp进行后端开发,包括用户登录注册、
日志
管理、
日志
查询、系统设置等功能的实现。
3. 前端开发:使用HTML、CSS、
Java
Script等技术进行前端页面的开发,包括登录注册页面
1、在PYNQ框架下,PS/PL 交互可以用MMIO这个PYNQ类。如该处的例子https://blog.csdn.net/qq_35290955/article/details/107671930
2、在SDK中,可以用xil_io.h这个头文件的IO读写函数。如该处的例子https://blog.csdn.net/narutoinspire/article/details/79401559?utm_medium=distribute.pc_relevant.none-task-blog-title-2&
1. 最简单的
方式
,就是system.print.out ,err 这样直接在控制台
打印
消息了。
2.
java
.util.logging ; 在JDK 1.4 版本之后,提供了
日志
的API ,可以网文件中写
日志
了。
3. log4j , 最强大的记录
日志
的
方式
。 可以通过配置 .properties 或是 .xml 的文件, 配置
日志
的目的地,格式等等。
4. commons-logging, 最综合和常见的
日志
记录
方式
, 经常是和log4j 结合起来使
您可以使用本指南为您的应用程序发现、理解和使用正确的
Java
日志
库,例如 Log4j2、Logback 或
java
.util.logging。
日志
“似乎”是一个非常简单的主题,但在实践中可能相当棘手,并且没有在任何地方进行足够详细的介绍。阅读本指南以充分了解
Java
日志
环境。
迟早,每个
Java
应用程序都需要
日志
记录。
可能您只是想将系统状态或用户操作记录到文件中,以便您的操作人员了解正在发生的事情。
在
Java
Swing中调试界面有以下
几种
方法:
1. 使用System.out.println()输出调试信息:在程序中使用System.out.println()
打印
一些关键信息,以便您能够确定代码是否按照预期运行。
2. 使用IDE的调试器:大多数IDE都带有强大的调试器,可以让您逐行执行代码并检查变量的值、堆栈跟踪等。在调试模式下启动应用程序后,您可以单步执行程序并查看每个变量的值,以便确定问题所在。
3. 使用
日志
工具:使用像Log4j、Logback等
日志
工具来记录应用程序中的关键信息和错误可以帮助您更轻松地确定问题所在。
4. 使用GUI测试工具:一些GUI测试工具(如JUnit Swing)可以帮助您模拟用户与应用程序的交互,并确保应用程序的每个组件都按预期工作。
5. 使用可视化调试器:一些工具(如JDebugTool)提供了可视化的调试器,可以帮助您更直观地了解应用程序中发生的事情。这些工具通常提供了一个可视化的界面,可以让您通过点击按钮、输入文本等
方式
与应用程序交互,同时查看变量值、堆栈跟踪等信息。