KYLIN-1614 Add more log files
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/d5b35bd1 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/d5b35bd1 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/d5b35bd1 Branch: refs/heads/yang-m1 Commit: d5b35bd170f9373aed3ddc1b3d7ab9342146ac32 Parents: e53c46f Author: lidongsjtu <lid...@apache.org> Authored: Tue Apr 26 20:53:49 2016 +0800 Committer: lidongsjtu <lid...@apache.org> Committed: Tue Apr 26 20:55:05 2016 +0800 ---------------------------------------------------------------------- .../org/apache/kylin/tool/DiagnosisInfoCLI.java | 32 ++++++++------------ 1 file changed, 12 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/d5b35bd1/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java ---------------------------------------------------------------------- diff --git a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java index a1280e4..ad5d066 100644 --- a/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java +++ b/tool/src/main/java/org/apache/kylin/tool/DiagnosisInfoCLI.java @@ -170,7 +170,7 @@ public class DiagnosisInfoCLI extends AbstractApplication { logger.warn("Error in export commit id.", e); } - // export process info + // export basic info try { File basicDir = new File(exportDir, "basic"); FileUtils.forceMkdir(basicDir); @@ -186,30 +186,22 @@ public class DiagnosisInfoCLI extends AbstractApplication { if (logPeriod > 0) { logger.info("Start to extract kylin logs in {} days", logPeriod); - final String logFolder = KylinConfig.getKylinHome() + "/logs/"; - final String defaultLogFilename = "kylin.log"; - final String defaultGCLogFilename = "kylin.gc"; - final File logsDir = new File(exportDir, "logs"); - final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + final File kylinLogDir = new File(KylinConfig.getKylinHome(), "logs"); + final File exportLogsDir = new File(exportDir, "logs"); + final ArrayList<File> logFiles = Lists.newArrayList(); + final long logThresholdTime = System.currentTimeMillis() - logPeriod * 24 * 3600 * 1000; - FileUtils.forceMkdir(logsDir); - - final ArrayList<String> logFileNames = Lists.newArrayListWithCapacity(logPeriod); - - logFileNames.add(defaultLogFilename); - logFileNames.add(defaultGCLogFilename); - for (int i = 1; i < logPeriod; i++) { - Calendar todayCal = Calendar.getInstance(); - todayCal.add(Calendar.DAY_OF_MONTH, 0 - i); - logFileNames.add(defaultLogFilename + "." + format.format(todayCal.getTime())); - logFileNames.add(defaultGCLogFilename + "." + Integer.toString(i - 1)); + FileUtils.forceMkdir(exportLogsDir); + for (File logFile : kylinLogDir.listFiles()) { + if (logFile.lastModified() > logThresholdTime) { + logFiles.add(logFile); + } } - for (String logFilename : logFileNames) { - File logFile = new File(logFolder + logFilename); + for (File logFile : logFiles) { logger.info("Log file:" + logFile.getAbsolutePath()); if (logFile.exists()) { - FileUtils.copyFileToDirectory(logFile, logsDir); + FileUtils.copyFileToDirectory(logFile, exportLogsDir); } } }