這是以前在網(wǎng)上看到關(guān)于處理log日志的一段代碼,一起學(xué)習(xí)吧。
創(chuàng)新互聯(lián)公司長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為泊頭企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計,泊頭網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
至于存到數(shù)據(jù)庫,那就得再打開log日志找到所需要的信息做操作了。
import?java.util.logging.*;
import?java.io.*;
public?class?MemoryHandlerTest?{
FileHandler?fhandler;
Logger?logger;
MemoryHandler?mhandler;
MemoryHandlerTest()?{
try?{
fhandler?=?new?FileHandler("my.log");
int?numRec?=?5;
mhandler?=?new?MemoryHandler(fhandler,?numRec,?Level.OFF);
logger?=?Logger.getLogger("com.mycompany");
logger.addHandler(mhandler);
}?catch?(IOException?e)?{
}
}
public?static?void?main(String?args[])?{
MemoryHandlerTest?mt?=?new?MemoryHandlerTest();
int?trigger?=?(int)?(Math.random()?*?100);
for?(int?i?=?1;?i??100;?i++)?{
mt.logger.log(Level.INFO,?"日志記錄"?+?i);
if?(i?==?trigger)?{
mt.mhandler.push();
break;
}
}
}
}
你好,可以配置一下log4j,放在項目的根目錄下,就會自定定位錯誤信息,并且定位到具體行
關(guān)于log4j的使用,首先把log4j.jar文件考到工程里面,src在新建log4j.properties文件
配置如下
#A1為控制臺輸出,A2為文件輸出,R為文件輸出,并且按天分割.級別為info??
log4j.rootLogger=info,A1,A2,R??
#將info級別的日志輸出到控制臺??
log4j.appender.A1=org.apache.log4j.ConsoleAppender??
log4j.appender.A1.Threshold=info??
log4j.appender.A1.layout=org.apache.log4j.PatternLayout??
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd?HH:mm:ss,SSS}?[%t]?[%c]?[%p]?-?%m%n??
#將info級別的日志輸出到文件,按天分隔??
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender??
log4j.appender.R.File=./logs/sslvpn.log??
log4j.appender.R.DatePattern?=?'.'yyyy-MM-dd??
log4j.appender.R.Threshold=info??
log4j.appender.R.layout=org.apache.log4j.PatternLayout??
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd?HH:mm:ss,SSS}?[%t]?[%c]?[%p]?-?%m%n??
#將error級別的日志輸出到文件??
log4j.appender.A2=org.apache.log4j.FileAppender??
log4j.appender.A2.File=./logs/error.log??
log4j.appender.A2.Threshold=error??
log4j.appender.A2.layout=org.apache.log4j.PatternLayout??
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd?HH:mm:ss,SSS}?[%t]?[%c]?[%p]?-?%m%n
log4j的功能很強大,可以將日志信息插入數(shù)據(jù)庫,希望可以幫到你
有
Sun的J2SE提供了一個單一的對數(shù)方法——double java.lang.Math.log(double),這很容易使用。請看如下代碼:
double x = Math.log(5);
等價于下面的數(shù)學(xué)方程:x = ln 5或x = loge5其中e是內(nèi)皮爾數(shù)或自然數(shù)。
logx(y) =loge(x) / loge(y)
這只需一段簡單的Java程序來實現(xiàn):
package com.generationjava.math;
public class Logarithm {
static public double log(double value, double base) {
return Math.log(value) / Math.log(base);}}計算100的以10為底的對數(shù)就變?yōu)榉浅:唵瘟耍?/p>
double log = Logarithm.log(100, 10); // log is 2.0
參考:
如果沒讀過《設(shè)計模式》這本書,請去讀一下。
這里L(fēng)ogFactory明顯是使用了工廠模式。把很多類的創(chuàng)建器放在一起使用參數(shù)來調(diào)用。這里AbcAction.class是參數(shù),意思是調(diào)用之前定義好的,和這個class相關(guān)的Log類的創(chuàng)建器,構(gòu)造一個Log類并返回,然后賦值給Log。
這里L(fēng)og接口也不是Java的通用東西,它具有debug方法,從名字看,意思是把DEBUG信息LOG下來。e.getMessage()就是取Throwable的具體信息。
寫一個log4j的properties文件,再在web.xml里面配置一下就ok了,你參考下吧
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]-%-5p %t (%C.%M:%L) | %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=e:/Logs/PB/root.log
log4j.appender.file.MaxFileSize=5000KB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d]-%-5p %t | %m%n
log4j.logger.java.sql = DEBUG,ibatis
log4j.additivity.java.sql=false
log4j.logger.java.sql.Connection = DEBUG
log4j.logger.java.sql.Statement = DEBUG
log4j.logger.java.sql.PreparedStatement = DEBUG
log4j.logger.java.sql.ResultSet = DEBUG
log4j.logger.com.ibatis = DEBUG,ibatis
log4j.additivity.com.ibatis=false
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = DEBUG
log4j.logger.com.ibatis.sqlmap.engine.cache.CacheModel=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientImpl=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.builder.xml.SqlMapParser=DEBUG
log4j.logger.com.ibatis.common.util.StopWatch=DEBUG
log4j.appender.ibatis=org.apache.log4j.RollingFileAppender
log4j.appender.ibatis.File=e:/Logs/PB/ibatis.log
log4j.appender.ibatis.MaxFileSize=5000KB
log4j.appender.ibatis.MaxBackupIndex=5
log4j.appender.ibatis.Threshold=DEBUG
log4j.appender.ibatis.layout=org.apache.log4j.PatternLayout
log4j.appender.ibatis.layout.ConversionPattern=[%d]%m%n
log4j.rootLogger=DEBUG,stdout,file
log4j.logger.org.springframework=INFO
log4j.logger.org.displaytag=INFO
log4j.logger.freemarker=INFO
log4j.logger.com.opensymphony.xwork2=INFO
log4j.logger.com.pracbiz=DEBUG