OSDN Git Service

Initial commit
[ultramonkey-l7/l7gui.git] / src / src / org / ultramonkey / l7 / controller / L7vsLogController.java
1 package org.ultramonkey.l7.controller;
2
3 import java.io.File;
4 import java.util.Date;
5
6 import org.apache.log4j.Logger;
7 import org.ultramonkey.l7.model.FileNotReadException;
8 import org.ultramonkey.l7.model.LogCategorySet;
9
10 /**
11  * 
12  * <p>class L7vsLogController</p>
13  * <p>Copyright(c) NTT COMWARE 2008</p>
14  * @author tanuma
15  */
16 public class L7vsLogController {
17
18         private Logger ioFileLogger = Logger.getLogger(LogCategorySet.GUI_IO_FILE);
19
20         private static String GUI_LOG = "/var/log/l7vs/l7gui.log";
21         private static String SYNC_LOG = "/var/log/l7vs/l7sync.log";
22         
23         /**
24          * 
25          * <p> getData method</p>
26          *
27          * @return log setting data.
28          */
29         public LogData getData() {
30                 // --- debug log (in method) ---
31                 if (ioFileLogger.isDebugEnabled()) {
32                         ioFileLogger.debug("11504 L7vsLogController::getData() in");
33                 }
34                 // --- debug log (in method) ---
35
36                 synchronized (this) {
37                         L7vsConfController confController = new L7vsConfController();
38                         DirectorController direController = new DirectorController();
39                         ClusterController haController = new ClusterController();
40                         L7vsAdmController admController = new L7vsAdmController();
41                         L7vsConfData cf = null;
42                         DirectorData dd = null;
43                         ClusterData cd = null;
44                         L7vsAdmData ad = null;
45                         LogData logData = new LogData();
46                         try {
47                                 cf = confController.getConfData();
48                                 dd = direController.getDirectorData();
49                                 cd = haController.getData();
50                                 ad = admController.getData();
51         
52                                 logData.admLog = setLogfile(cf.logger.admLog);
53                                 
54                                 logData.lbLog = setLogfile(cf.logger.lbLog);
55                                 logData.lbLog.logLevel = ad.l7vsdLogLevel;
56                                 
57                                 logData.snmpLog = setLogfile(cf.logger.snmpLog);
58                                 logData.snmpLog.logLevel = ad.snmpLogLevel;
59
60                                 cf.logger.directorLog.fileName = dd.logfile.replaceAll("\"", "");
61                                 logData.directorLog = setLogfile(cf.logger.directorLog);
62                                 
63                                 cf.logger.guiLog.fileName = GUI_LOG;
64                                 logData.guiLog = setLogfile(cf.logger.guiLog);
65                                 
66                                 cf.logger.haLog.fileName = cd.logFileName;
67                                 logData.haLog = setLogfile(cf.logger.haLog);
68                                 
69                                 cf.logger.syncLog.fileName = SYNC_LOG;
70                                 logData.syncLog = setLogfile(cf.logger.syncLog);
71                         } catch (FileNotReadException e) {
72                                 ioFileLogger.error("41216 Exception occured: " + e.getMessage());
73                                 logData = null;
74                         } catch (Exception e) {
75                                 ioFileLogger.error("41217 Exception occured: " + e.getMessage());
76                                 logData = null;
77                         }
78         
79                         // --- debug log (out method) ---
80                         if (ioFileLogger.isDebugEnabled()) {
81                                 ioFileLogger.debug("11505 L7vsLogController::getData() out return=("
82                                                 + logData + ")");
83                         }
84                         // --- debug log (out method) ---
85                         return logData;
86                 }
87         }
88
89         protected LogSet setLogfile(LogSet logSet) {
90                 // --- debug log (in method) ---
91                 if (ioFileLogger.isDebugEnabled()) {
92                         StringBuffer buf = new StringBuffer();
93                         buf
94                                         .append("L7vsLogController::setLogfile(LogSet logSet) in ");
95                         buf.append("cfLogSet=(" + logSet + ")");
96                         ioFileLogger.debug("11506 " + buf.toString());
97                 }
98                 // --- debug log (in method) ---
99
100                 int suffix = 0;
101                 while (true) {
102                         String path = logSet.fileName;
103                         if (suffix > 0)
104                                 path += "." + suffix;
105
106                         try {
107                                 File log = new File(path);
108                                 if (log.isFile())
109                                         logSet.logFiles.add(new LogFileData(log.getName(),
110                                         log.getAbsolutePath(), log.length(),
111                                         new Date(log.lastModified())));
112                                 else
113                                         break;
114                         } catch (NullPointerException e) {
115                                 ioFileLogger.error("41218 Exception occured: " + e.getMessage());
116                         } catch (Exception e) {
117                                 ioFileLogger.error("41219 Exception occured: " + e.getMessage());
118                         }
119
120                         suffix++;
121                 }
122                 // --- debug log (out method) ---
123                 if (ioFileLogger.isDebugEnabled()) {
124                         ioFileLogger.debug("11507 L7vsLogController::setLogfile() out return=(" + logSet + ")");
125                 }
126                 // --- debug log (out method) ---
127                 
128                 return logSet;
129         }
130 }