java的log类_Java中log日志工具类--Java自学网

package com.util;

import java.util.Map;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;

import com.app.common.manager.BaseManager; import com.app.jtb.model.EfileArchive; import com.app.jtb.model.EfileInfo; import com.app.jtb.model.EfileList; import com.app.jtb.model.SingleUser; import com.app.permission.model.ActionInfo; import com.app.permission.model.LogInfo; import com.app.permission.model.User; import com.app.permission.web.filter.LogData;

public class LogUtils {

/**   * 保存日志   * @param request   * @param response   * @param o   * @param archiveSort   * @param opName   * @param logClass   * @return   */  public static boolean saveLogInfo(BaseManager baseManager, HttpServletRequest request,    HttpServletResponse response, Object o, String archiveSort,    String opName, String logClass) {

String url = ((HttpServletRequest) request).getRequestURI();

// 截取URL   int index = url.indexOf("/");   String actionString = url.substring(index);

int indexEnd = url.lastIndexOf("?");

if (indexEnd != -1) {    actionString.substring(0, indexEnd);   }

HttpSession session = ((HttpServletRequest) request).getSession();   // 从session中取得user信息   User user = (User) session.getAttribute("user");   String upperUrl = url.toUpperCase();

if (user == null && upperUrl.indexOf("LOGIN.DO") == -1) {    return true;   }

/* 将用户的URL地址,转为中文 */   String urlName = "";      Object oa = baseManager.findUniqueBy(ActionInfo.class, "actionUrl", url);   if(oa != null){    ActionInfo ai = (ActionInfo)oa;    urlName = ai.getActionName();   }

Integer userId = user.getId(); // 用户编号   if (userId == null) {    userId = new Integer(0);   }

String realName = user.getRealName();// 真实姓名   String username = user.getUsername(); // 用户名   String ip = request.getRemoteAddr(); // iP地址   String deptName = user.getDepartment().getDepartmentName();

// 进行日志的封装   LogInfo logInfo = new LogInfo();   logInfo.setUserId(userId);   logInfo.setUsername(realName);   logInfo.setEnglishName(username);   logInfo.setIp(ip);   logInfo.setDeptName(deptName);   logInfo.setTime(new java.util.Date());   logInfo.setMessage(urlName);   if (actionString.length() > 254) {    actionString = actionString.substring(0, 254);   }

logInfo.setOpName(opName);   logInfo.setLogClass(logClass);         setObjectInfo(o, archiveSort, logInfo);

setSingleUser(logInfo, request);      logInfo.setUrl(actionString);      // 写入数据库   baseManager.saveObject(logInfo);   return false;  }

private static void setObjectInfo(Object o, String archiveSort, LogInfo logInfo) {   if (o != null) {    if (o instanceof EfileArchive) {     EfileArchive e = (EfileArchive) o;     logInfo.setArchiveId(e.getArchiveId());     logInfo.setArchiveLabel(e.getArchiveLabel());     logInfo.setArchiveSort(archiveSort);    } else if (o instanceof EfileList) {     EfileList f = (EfileList) o;     EfileArchive a = f.getEfileArchive();     if(a != null){      logInfo.setArchiveId(a.getArchiveId());      logInfo.setArchiveLabel(a.getArchiveLabel());     }     logInfo.setFileId(f.getId());     logInfo.setFileOrderId(f.getOrderNo());     logInfo.setArchiveSort(archiveSort);    } else if(o instanceof EfileInfo){     EfileInfo l = (EfileInfo) o;     logInfo.setFid(l.getId());     logInfo.setFiTitle(l.getFileTitle());     logInfo.setArchiveSort(archiveSort);    }   }  }    public static void setSingleUser(LogInfo logInfo, HttpServletRequest request){   if(request.getSession().getAttribute("singleUser") != null){    SingleUser singleUser = (SingleUser) request.getSession().getAttribute("singleUser");    logInfo.setSearchUser(StringUtils.getNotNullString(singleUser.getUsername()));    logInfo.setSearchDepartment(StringUtils.getNotNullString(singleUser.getDepartment()));    logInfo.setSearchTel(StringUtils.getNotNullString(singleUser.getTel()));   }   //return logInfo;  }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值