JSP写日志到txt文本里

封装函数: 

<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.text.SimpleDateFormat"%>
<%!
    /**
	 * 写日志,方便测试(看网站需求,也可以改成把记录存入数据库)
	 * @param msg 要写入日志里的文本内容
	 */
	public void logResult(String msg){
		SimpleDateFormat sdf =  new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
		File log = new File(getServletContext().getRealPath("/")+"log.txt");
		 if (!log.exists())//如果文件不存在,则新建
         {
             File parentDir = new File(log.getParent());
             if (!parentDir.exists())//如果所在目录不存在,则新建
             {
                 parentDir.mkdirs();
             }
             try {
				log.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
         }
		//先创建一个writer对象
		Writer writer=null;
		BufferedWriter bw=null;
		try {
			writer=new FileWriter(log,true); //是否覆盖,true表示在末尾添加,false表示覆盖
			bw=new BufferedWriter(writer);
			//开始写入
			bw.write(sdf.format(new Date())+" "+msg+"\r\n");
			//写入大量数据,要刷新缓存区
			bw.flush();
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try {
				//先开后关
				if (bw!=null) {
					bw.close();
				}
				if (writer!=null) {
					writer.close();
				}		 
			} catch (IOException e) {   
				e.printStackTrace();
			}
		}
	}
%>

调用示例:

<%
logResult("测试打印日志信息");
%>

输出结果:

猜你喜欢

转载自blog.csdn.net/qq15577969/article/details/112879053