1 28 29 package com.opencms.workplace; 30 31 import org.opencms.file.CmsObject; 32 import org.opencms.i18n.CmsEncoder; 33 import org.opencms.main.CmsException; 34 import org.opencms.main.OpenCms; 35 36 import com.opencms.template.CmsXmlTemplateFile; 37 38 import java.io.File ; 39 import java.io.FileReader ; 40 import java.io.LineNumberReader ; 41 import java.util.Hashtable ; 42 43 51 public class CmsAdminLogFileViewer extends CmsWorkplaceDefault { 52 53 64 public byte[] getContent(CmsObject cms, String templateFile, String elementName, Hashtable parameters, String templateSelector) throws CmsException { 65 66 CmsXmlTemplateFile templateDocument = getOwnTemplateFile(cms, templateFile, elementName, parameters, templateSelector); 67 long length = 0; 68 long toSkip; 69 70 if("ok".equalsIgnoreCase((String )parameters.get("step"))){ 71 templateSelector = "done"; 72 } else { 73 StringBuffer logfilecontent = new StringBuffer (); 74 String logfilename = OpenCms.getSystemInfo().getLogFileRfsPath(); 75 try { 76 File file = new File(logfilename); 77 length = file.length(); 78 toSkip = length - 10000; 79 FileReader reader = new FileReader (file); 80 LineNumberReader lnr = new LineNumberReader (reader); 81 if(toSkip > 0) { 82 lnr.skip(toSkip); 83 lnr.readLine(); 84 } 85 String line = lnr.readLine(); 86 while(line != null) { 87 logfilecontent.append(line + "\n"); 88 line = lnr.readLine(); 89 } 90 } catch(Exception exc) { 91 logfilecontent.append(CmsException.getStackTraceAsString(exc)); 92 } 93 templateDocument.setData("logfile", CmsEncoder.escapeWBlanks(logfilecontent.toString(), 94 cms.getRequestContext().getEncoding())); 95 templateDocument.setData("logfilesize", length + ""); 96 } 97 return startProcessing(cms, templateDocument, elementName, parameters, templateSelector); 99 } 100 }
| Popular Tags
|