Java Web Project自定义错误页面,log4j记录日志。
创建记录日志的文件LoggerHelper.java:
1 package com.wyp.helper; 2 3 import org.apache.log4j.Logger; 4 5 public class LoggerHelper { 6 private static Logger _logger = Logger.getLogger(LoggerHelper.class); 7 private static String newLine = System.getProperty("line.separator"); 8 9 public static void info(Logger logger, String message) { 10 logger.info(newLine); 11 logger.info(message); 12 } 13 14 public static void info(Logger logger, String message, Throwable exception) { 15 logger.info(newLine); 16 logger.info(message, exception); 17 } 18 19 public static void debug(Logger logger, String message) { 20 logger.debug(newLine); 21 logger.debug(message); 22 } 23 24 public static void debug(Logger logger, String message, Throwable exception) { 25 logger.debug(newLine); 26 logger.debug(message, exception); 27 } 28 29 public static void error(Logger logger, String message) { 30 logger.error(newLine); 31 logger.error(message); 32 } 33 34 public static void error(Logger logger, String message, Throwable exception) { 35 logger.error(newLine); 36 logger.error(message, exception); 37 } 38 39 public static void info(String message) { 40 _logger.info(newLine); 41 _logger.info(message); 42 } 43 44 public static void info(String message, Throwable exception) { 45 _logger.info(newLine); 46 _logger.info(message, exception); 47 } 48 49 public static void debug(String message) { 50 _logger.debug(newLine); 51 _logger.debug(message); 52 } 53 54 public static void debug(String message, Throwable exception) { 55 _logger.debug(newLine); 56 _logger.debug(message, exception); 57 } 58 59 public static void error(String message) { 60 _logger.error(newLine); 61 _logger.error(message); 62 } 63 64 public static void error(String message, Throwable exception) { 65 _logger.error(newLine); 66 _logger.error(message, exception); 67 } 68 69 }
创建Global.java文件:
1 package helper; 2 3 import java.io.File; 4 5 import javax.servlet.ServletContext; 6 import javax.servlet.ServletContextEvent; 7 import javax.servlet.ServletContextListener; 8 9 import org.apache.log4j.Logger; 10 import org.apache.log4j.PropertyConfigurator; 11 12 public class Global implements ServletContextListener { 13 14 private Logger _logger = Logger.getLogger(Global.class); 15 16 @Override 17 public void contextDestroyed(ServletContextEvent arg0) { 18 // TODO Auto-generated method stub 19 LoggerHelper.info(_logger, "网站停止"); 20 } 21 22 @Override 23 public void contextInitialized(ServletContextEvent arg0) { 24 // TODO Auto-generated method stub 25 ServletContext sc = arg0.getServletContext(); 26 27 String prefix = sc.getRealPath("/WEB-INF"); 28 String file = "log4j.properties"; 29 String configPath = prefix + File.separator + file; 30 31 String logFilePath = sc.getRealPath("/"); 32 System.setProperty("tomcat", logFilePath); 33 34 PropertyConfigurator.configure(configPath); 35 36 LoggerHelper.info(_logger, "网站启动"); 37 } 38 }