Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
   *
   * Copyright (c) 2013-2014 sagyf Yang. The Four Group.
   */
  package com.github.sog.interceptor.syslog;
  
 
 import java.io.File;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
 public class SysLogInterceptor implements Interceptor {
     private static final Map<StringLogConfigacitonLogs   = Maps.newConcurrentMap();
     private              LogProcessor           logProcesser = null;
 
     public SysLogInterceptor setLogProcesser(LogProcessor logProcesserString path) {
         this. = logProcesser;
 
         try {
             String config = Files.toString(new File(path), Charset.forName(.));
 
             if (Strings.isNullOrEmpty(config)) {
                 return null;
             }
 
             List<LogPathConfigpathConfigs = JSON.parseObject(confignew TypeReference<List<LogPathConfig>>() {
             });
             if (pathConfigs != null && !pathConfigs.isEmpty()) {
                 for (LogPathConfig pathConfig : pathConfigs) {
                     final LogConfig logConfig = (Strings.isNullOrEmpty(pathConfig.getFormat()))
                             ? new LogConfig(pathConfig.getTitle())
                             : new LogConfig(pathConfig.getTitle(), pathConfig.getFormat());
                     Map<StringStringparams = pathConfig.getParams();
                     if (params != null && !params.isEmpty()) {
                         for (String _p : params.keySet()) {
                             logConfig.addPara(_pparams.get(_p));
                         }
                     }
                     this.addConfig(pathConfig.getPath(), logConfig);
                 }
             }
         } catch (IOException e) {
             e.printStackTrace();
         }
         return this;
     }
 
     public SysLogInterceptor addConfig(String actionKeyLogConfig log) {
         .put(actionKeylog);
         return this;
     }
 
     @Override
     public void intercept(ActionInvocation ai) {
         String actionKey = ai.getActionKey();
         LogConfig log = .get(actionKey);
         if (log != null) {
             Controller c = ai.getController();
             logFromConfig(clog);
         }
         ai.invoke();
     }
 
     private void logFromConfig(Controller cLogConfig log) {
         final SysLog sysLog = new SysLog();
         sysLog.ip = ServletKit.getIp(c.getRequest());
         sysLog.user = .getUsername(c);
         Map<StringString[]> parameterMap = c.getRequest().getParameterMap();
         Set<Entry<StringString[]>> entrySet = parameterMap.entrySet();
         Map<StringStringparaMap = Maps.newHashMap();
         String _key_value_result;
         for (Entry<StringString[]> entry : entrySet) {
             _key = entry.getKey();
             _value = entry.getValue()[0];
             _result = log.params.get(_key);
             if (StringKit.isBlank(_result))
                 continue;
             paraMap.put(_result_value);
         }
         sysLog.message = .formatMessage(logparaMap);
         sysLog.title = log.getTitle();
         .process(sysLog);
    }
New to GrepCode? Check out our FAQ X