
正文
java保存日志代码 java的日志
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java保存所有方法和参数日志,怎么弄???
你查查aop的文档
你要做的是针对方法进行切面,在方法之前完成
其中注解方式需要JoinPoint参数
这个参数之中有joinPoint.getArgs() 获取所有传入的参数
joinPoint.getTarget().getClass().getName()获取方法名称
joinPoint.getTarget().getClass().getName() 这是class的名称
你需要的都有
相关问答
Q1: java怎么将系统日志存到数据库
纠正一个问题 退出系统不是退出数据库 说一下 你这个是 java代码方面的问题 和数据库无关 你这样提问 很容易让我联想到 如果提取数据库的log内容 接下来说一下怎么实现 建立程序操作记录数据表 表中内容可以包括 用户 操作内容 执行时间 等 然后就是 找到你所有认为应该添加 日志的位置 然后添加一段 向操作记录表写入记录的代码 如果怕 程序卡 添加日志可以用一个新的线程来做
Q2: java 中怎么将程序出现的异常信息保存到日志文件中
有一个叫log4j的组件下载后放在lib文件夹下,设置配置文件.
然后在你的类中创建这个的对象 ,这个对象的构造器需要这个类的完整名,例如:
private static final Logger logger = Logger.getLogger(xxx.class);
然后在你需要的地方使用这个对象,例如:
logger.info(message);
log4j有三种级别,info,error,debug,在配置文件中可以配置保存的路径,保存的级别
Q3: java中如何使用log4j将日志信息写入数据库中(转)
�0�2�0�2�0�2�0�2�0�2�0�2 首先将log4j的jar包和Logging的jar包导入到你的工程中,然后在工程src目录创建一个属性文件:log4j.properties,也可以放在某个包中,但是获取这个属性文件的时候就需要制定路径。
1.创建日志数据表:
view plainprint?CREATE�0�2TABLE�0�2log�0�2(�0�2�0�2�0�2�0�2[Id]�0�2[int]�0�2IDENTITY�0�2(1,�0�21)�0�2primary�0�2key�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Date]�0�2[datetime]�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Thread]�0�2[varchar]�0�2(50)�0�2COLLATE�0�2Chinese_PRC_CI_AS�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Level]�0�2[varchar]�0�2(20)�0�2COLLATE�0�2Chinese_PRC_CI_AS�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Class]�0�2[varchar]�0�2(200)�0�2COLLATE�0�2Chinese_PRC_CI_AS�0�2NOT�0�2NULL�0�2,�0�2�0�2�0�2�0�2[Lg_Message]�0�2[varchar]�0�2(2000)�0�2COLLATE�0�2Chinese_PRC_CI_AS�0�2NOT�0�2NULL�0�2�0�2)�0�2�0�2GO�0�2�0�22.写log4j.properties文件,这里我的数据库举动是用的JTDS:
引用# level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。
# Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
log4j.rootLogger=ERROR,DATABASE
log4j.addivity.org.apache=true
# 用于数据库
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:jtds:sqlserver://localhost:1433;DatabaseName=databasename
log4j.appender.DATABASE.driver=net.sourceforge.jtds.jdbc.Driver
log4j.appender.DATABASE.user=username
log4j.appender.DATABASE.password=password
# 本处设置为"WARN"以上级别在数据库存储(默认情况使用rootLogger中的设置)
log4j.appender.DATABASE.Threshold=DEBUG
log4j.appender.DATABASE.sql=INSERT INTO log(optime,thread,infolevel,class,message) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%t', '%p', '%l', '%m')
# 写入数据库中的表LOG4J的Message字段中,
# 内容%d(日期)%c: 日志信息所在地(类名)%p: 日志信息级别%m: 产生的日志具体信息 %n: 输出日志信息换行
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n3.在程序中需要将日志信息写入数据库的地方写入如下代码:
view plainprint?
Q4: java 如何配置log4j日志文件保存路径
以DailyRollingFileAppender 为例java保存日志代码:假设每天一个日志文件
有以下设置:
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.File=app.log
log4j.appender.A1.DatePattern='.'yyyy-MM-dd
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %5p - %c -%-4r [%t] - %m%n
此时生成日志文件将位于tomcatjava保存日志代码的bin目录下java保存日志代码,如要将日志文件保存在 :根目录/web-info/logs/下,个人有以下4种解决方案:
1 绝对路径
log4j.appender.A1.File=D:\apache-tomcat-6.0.18/webapps/项目/WEB-INF/logs/app.log
但这种写法灵活性很差
以下3中使用相同java保存日志代码的设置原理: jvm的环境变量
2:spring的Log4jConfigListener
通过以下配置:
context-param
param-namewebAppRootKey/param-name
param-valuewebApp.root/param-value
/context-param
context-param
param-namelog4jConfigLocation/param-name
param-valueclasspath:log4j.properties/param-value
/context-param
listener
listener-classorg.springframework.web.util.Log4jConfigListener/listener-class
/listener
...
log4j.appender.logfile.File=${webApp.root}/WEB-INF/logs/app.log
...
来解决
2:使用已有jvm变量:
例如:
log4j.appender.logfile.File=${user.home}/logs/app.log
日志将位于:例如windows:C:\Documents and Settings\joe\logs\app.log
3 自己设置目录,也就是在项目启动时通过System.setProperty设置
通过实现ServletContextListener来解决:例如
public class log4jlistener implements ServletContextListener {
public static final String log4jdirkey = "log4jdir";
public void contextDestroyed(ServletContextEvent servletcontextevent) {
System.getProperties().remove(log4jdirkey);
}
public void contextInitialized(ServletContextEvent servletcontextevent) {
String log4jdir = servletcontextevent.getServletContext().getRealPath("/");
//System.out.println("log4jdir:"+log4jdir);
System.setProperty(log4jdirkey, log4jdir);
}
}
web.xml配置:
listener
listener-classcom.log4j.log4jlistener/listener-class
/listener
log4j.prtperties 配置:
log4j.appender.A1.File=${log4jdir}/WEB-INF/logs/app1.log
来解决。
Q5: java开发里 保存日志方法问题
java保存日志代码我想java保存日志代码你们经理是想把这个单独成一个静态类文件.里边含上边这些属性跟一个方法,调用java保存日志代码你上边这个commonDao那个储存方法.就是在java保存日志代码你那个shopLog里边加一个静态保存方法.所有类都可以调用.属性就是参数么,方法不用传参,直接使用属性.单例模式就行
java保存日志代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java的日志、java保存日志代码的信息别忘了在本站进行查找喔。







