java 源生日志,不需引入多余的jar包,自己写下
package test;
import java.io.IOException;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* 日志工具:组装自己的日志,减少引入包了
*
* @author ZengWenfeng
* @date 2019.10.10
* @email 117791303@QQ.com
* @mobile 13805029595
*/
public class LogUtil
{
Logger logger = Logger.getLogger(LogUtil.class.getName());
public String getTest()
{
return Thread.currentThread().getStackTrace()[0].getMethodName();
}
public int getLineNumber()
{
return Thread.currentThread().getStackTrace()[1].getLineNumber();
}
public String getMethodName()
{
return Thread.currentThread().getStackTrace()[2].getMethodName();
}
public String getFileName()
{
return Thread.currentThread().getStackTrace()[1].getFileName();
}
public void log(String message)
{
Object[] params2 = {"zwf1111", 22222};
logger.setLevel(Level.INFO);
ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.INFO);
logger.addHandler(handler);
FileHandler handlerFile = null;
try
{
handlerFile = new FileHandler("E:/zwf.log");
} catch (SecurityException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
handlerFile.setFormatter(new FileLogFormatter());
handlerFile.setLevel(Level.FINEST);
logger.addHandler(handlerFile);
logger.log(Level.SEVERE, "行号:" + getLineNumber() + ": 文件:" + getFileName() + ": 方法名" + getMethodName() + ": teste ww" + getTest());
logger.log(Level.WARNING, "2");
Object[] params3 = {"3333", getMethodName()};
logger.log(Level.INFO, "param0:{0}, param1:{1}", params3);
Object[] params4 = {"4444", 4444};
logger.log(Level.CONFIG, "param0:{0}, param1:{1}", params4);
logger.log(Level.FINE, "param0:{0}, param1:{1}", params2);
logger.log(Level.FINER, "param0:{0}, param1:{1}", params2);
logger.log(Level.FINEST, "param0:{0}, param1:{1}", params2);
logger.log(Level.INFO, "param0:{0}", getFileName());
logger.warning("sdfsdfs");
}
public static void main(String[] args)
{
LogUtil l = new LogUtil();
l.log("zwf");
}
}
package test;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
public class FileLogFormatter extends Formatter
{
public String format(LogRecord record)
{
StringBuffer rtnFmtStr = new StringBuffer();
rtnFmtStr.append(record.getLevel());
rtnFmtStr.append(":");
rtnFmtStr.append(record.getMessage());
rtnFmtStr.append("\n");
return rtnFmtStr.toString();
}
}