Package com.mapr.log4j
Class MaprfsLogAppender
java.lang.Object
org.apache.log4j.AppenderSkeleton
com.mapr.log4j.MaprfsLogAppender
- All Implemented Interfaces:
Flushable,org.apache.hadoop.fs.Syncable,org.apache.log4j.Appender,org.apache.log4j.spi.OptionHandler
- Direct Known Subclasses:
CentralTaskLogAppender,MaprfsDailyRollingLogAppender,MaprfsRollingLogAppender
public class MaprfsLogAppender
extends org.apache.log4j.AppenderSkeleton
implements Flushable, org.apache.hadoop.fs.Syncable
Base log appender to log into MapRFS
it can be used on its own or most likely its children will be used:
MaprfsDailyRollingLogAppender ( counterpart of DailyRollingFileAppender)
MaprfsRollingLogAppender ( counterpart of RollingFileAppender )
This appender provides failover functionality to write using other (non MapRFS appender)
in case logs can not be written into MapRFS. LoggingEvent that first encountered an issue will not be written
into failover appender
-
Field Summary
FieldsModifier and TypeFieldDescriptionintstatic final Stringprotected org.apache.log4j.Appenderprotected Stringprotected Stringprotected org.apache.hadoop.fs.Pathprotected booleanprotected booleanprotected org.apache.hadoop.fs.FileSystemprotected Stringprotected longprotected URIFields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected voidappend(org.apache.log4j.spi.LoggingEvent event) voidclose()protected voidprotected voidcreateFile(org.apache.hadoop.fs.Path filePath) protected voidfailoverToLocalLogs(Throwable reason) voidflush()getFile()protected longbooleanReturns value of the ImmediateFlush option.booleanprotected org.apache.hadoop.fs.permission.FsPermissionlongvoidhflush()voidhsync()booleanvoidsetFailoverAppender(String failoverAppenderName) voidprotected voidsetFS(org.apache.hadoop.fs.FileSystem fs) voidsetImmediateFlush(boolean value) voidsetImmediateSync(boolean value) voidsetSyncIntervalSeconds(long value) voidvoidsync()protected voidprotected voidWrite a header as produced by the embedded layout'sLayout.getHeader()method.Methods inherited from class org.apache.log4j.AppenderSkeleton
addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
-
Field Details
-
maprFS
protected org.apache.hadoop.fs.FileSystem maprFS -
uri
-
fileName
-
nameHierarchy
-
fileNamePath
protected org.apache.hadoop.fs.Path fileNamePath -
failoverAppender
protected org.apache.log4j.Appender failoverAppender -
failoverAppenderName
-
BUFFER_SIZE
public int BUFFER_SIZE -
immediateFlush
protected boolean immediateFlush -
immediateSync
protected boolean immediateSync -
syncIntervalSeconds
protected long syncIntervalSeconds -
DIR_PREFIX
-
-
Constructor Details
-
MaprfsLogAppender
-
MaprfsLogAppender
public MaprfsLogAppender()
-
-
Method Details
-
setFailoverAppender
-
setURI
-
setImmediateFlush
public void setImmediateFlush(boolean value) -
getImmediateFlush
public boolean getImmediateFlush()Returns value of the ImmediateFlush option. -
setImmediateSync
public void setImmediateSync(boolean value) -
getImmediateSync
public boolean getImmediateSync() -
setSyncIntervalSeconds
public void setSyncIntervalSeconds(long value) -
getSyncIntervalSeconds
public long getSyncIntervalSeconds() -
setFile
-
getFile
-
setFS
protected void setFS(org.apache.hadoop.fs.FileSystem fs) -
activateOptions
public void activateOptions()- Specified by:
activateOptionsin interfaceorg.apache.log4j.spi.OptionHandler- Overrides:
activateOptionsin classorg.apache.log4j.AppenderSkeleton
-
flush
public void flush() -
sync
public void sync()- Specified by:
syncin interfaceorg.apache.hadoop.fs.Syncable
-
hsync
public void hsync()- Specified by:
hsyncin interfaceorg.apache.hadoop.fs.Syncable
-
hflush
public void hflush()- Specified by:
hflushin interfaceorg.apache.hadoop.fs.Syncable
-
createFile
- Throws:
IOException
-
append
protected void append(org.apache.log4j.spi.LoggingEvent event) - Specified by:
appendin classorg.apache.log4j.AppenderSkeleton
-
close
public void close()- Specified by:
closein interfaceorg.apache.log4j.Appender
-
closeFile
protected void closeFile() -
requiresLayout
public boolean requiresLayout()- Specified by:
requiresLayoutin interfaceorg.apache.log4j.Appender
-
writeHeader
protected void writeHeader()Write a header as produced by the embedded layout'sLayout.getHeader()method. -
getFileSize
- Throws:
IOException
-
failoverToLocalLogs
-
getLogFilePermission
protected org.apache.hadoop.fs.permission.FsPermission getLogFilePermission()
-