* @author Ho Namkoong {@literal <ho.namkoong@samsung.com>} (S-Core)
*
*/
-public class FileAppender extends AppenderSkeleton{
-
+public class FileAppender extends AppenderSkeleton {
private int bufferSize;
- //This event is dummy for getting formatted workspace path.
+ // This event is dummy for getting formatted workspace path.
private static final LoggingEvent dummy = new LoggingEvent( null, Logger.getLogger( "FileAppender"), Level.OFF, StringUtil.EMPTY_STRING, null );
- protected final OutputStream NOOP_OUTPUT_STREAM = new OutputStream() {
+ OutputStream FILE_OUTPUT_STREAM;
+ private FileAppenderScheduler SCHEDULER;
+ private static final Timer TIMER = new Timer("File appender timer", true);
+ protected String logPath;
+ protected final OutputStream NOOP_OUTPUT_STREAM = new OutputStream() {
@Override
public void write(int b) throws IOException {
}
};
-
+
protected final FileAppenderScheduler NOOP_SCHEDULER = new FileAppenderScheduler() {
-
@Override
public void run() {}
return true;
}
};
-
- OutputStream FILE_OUTPUT_STREAM;
- private FileAppenderScheduler SCHEDULER;
- private static final Timer TIMER = new Timer("File appender timer", true);
- protected String logPath;
/**
- * Constructor {@link FileAppender} with log path
+ * Constructor {@link FileAppender} with log path.
* @param logPath
*
* @author Ho Namkoong {@literal <ho.namkoong@samsung.com>} (S-Core)
public FileAppender(String logPath) {
this(logPath, new EnhancedPatternLayout(LoggerConstants.DEFAULT_CONVERSION_PATTERN), LoggerConstants.DEFAULT_BUFFER_SIZE);
}
-
+
/**
- * Constructor {@link FileAppender} with log path and {@link Layout}
+ * Constructor {@link FileAppender} with log path and {@link Layout}.
* @param logPath
* @param layout
*
public FileAppender(String logPath, Layout layout) {
this(logPath, layout, LoggerConstants.DEFAULT_BUFFER_SIZE);
}
-
+
/**
- * Constructor {@link FileAppender} with log path, {@link Layout} and buffer size
+ * Constructor {@link FileAppender} with log path, {@link Layout} and buffer size.
* @param logPath
* @param layout
* @param bufferSize
initializeAppender();
}
+ public String getLogPath() {
+ return logPath;
+ }
+
@Override
public void close() {
}
}
/**
- * Sets the log file path
+ * Sets the log file path.
* @param path log file path
*
* @author Ho Namkoong {@literal <ho.namkoong@samsung.com>} (S-Core)
this.logPath = layout.format(dummy);
return initializeAppender();
}
-
+
/**
- * Sets the log buffer size
+ * Sets the log buffer size.
* @param bufferSize log buffer size
*
* @author Ho Namkoong {@literal <ho.namkoong@samsung.com>} (S-Core)
initializeAppender();
}
-
/**
* {@inheritDoc}
*
try {
FILE_OUTPUT_STREAM.write(layout.format(arg0).getBytes());
- if(getLayout().ignoresThrowable()) {
+ if (getLayout().ignoresThrowable()) {
String[] tss = arg0.getThrowableStrRep();
- if(tss != null) {
- for(String ts: tss) {
+ if (tss != null) {
+ for (String ts : tss) {
FILE_OUTPUT_STREAM.write((ts + "\n").getBytes());
}
}
SCHEDULER.cancel();
SCHEDULER = new FileAppenderScheduler();
TIMER.scheduleAtFixedRate(SCHEDULER, LoggerConstants.DEFAULT_TIMER_PERIOD, LoggerConstants.DEFAULT_TIMER_PERIOD);
- }
- catch(Throwable t) {
+ } catch (Throwable t) {
LogLog.error(MessageFormat.format("Exception occurred while logging message: {0}", arg0.getMessage()), t);
}
}
synchronized private String initializeAppender() {
-
createLogFile(logPath);
File logFile = new File(logPath);
String message = StringUtil.EMPTY_STRING;
- if(!logFile.exists()) {
+ if (!logFile.exists()) {
logFile.getAbsoluteFile().getParentFile().mkdirs();
try {
logFile.createNewFile();
return message;
}
}
- else if(logFile.isDirectory()) {
+ else if (logFile.isDirectory()) {
FILE_OUTPUT_STREAM = NOOP_OUTPUT_STREAM;
SCHEDULER = NOOP_SCHEDULER;
message = NLS.bind(Messages.FileAppender_EXCEPTION_DIRECTORY_EXISTING, logPath);
}
private void createLogFile(String logPath2) {
- // TODO Auto-generated method stub
-
}
/**