Package com.mapr.log4j
Class MaprfsLogAppender
- java.lang.Object
-
- org.apache.log4j.AppenderSkeleton
-
- com.mapr.log4j.MaprfsLogAppender
-
- All Implemented Interfaces:
java.io.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 java.io.Flushable, org.apache.hadoop.fs.SyncableBase 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
Fields Modifier and Type Field Description intBUFFER_SIZEstatic java.lang.StringDIR_PREFIXprotected org.apache.log4j.AppenderfailoverAppenderprotected java.lang.StringfailoverAppenderNameprotected java.lang.StringfileNameprotected org.apache.hadoop.fs.PathfileNamePathprotected booleanimmediateFlushprotected booleanimmediateSyncprotected org.apache.hadoop.fs.FileSystemmaprFSprotected java.lang.StringnameHierarchyprotected longsyncIntervalSecondsprotected java.net.URIuri
-
Constructor Summary
Constructors Constructor Description MaprfsLogAppender()MaprfsLogAppender(java.net.URI uri)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivateOptions()protected voidappend(org.apache.log4j.spi.LoggingEvent event)voidclose()protected voidcloseFile()protected voidcreateFile(org.apache.hadoop.fs.Path filePath)protected voidfailoverToLocalLogs(java.lang.Throwable reason)voidflush()java.lang.StringgetFile()protected longgetFileSize()booleangetImmediateFlush()Returns value of the ImmediateFlush option.booleangetImmediateSync()protected org.apache.hadoop.fs.permission.FsPermissiongetLogFilePermission()longgetSyncIntervalSeconds()voidhflush()voidhsync()booleanrequiresLayout()voidsetFailoverAppender(java.lang.String failoverAppenderName)voidsetFile(java.lang.String fileName)protected voidsetFS(org.apache.hadoop.fs.FileSystem fs)voidsetImmediateFlush(boolean value)voidsetImmediateSync(boolean value)voidsetSyncIntervalSeconds(long value)voidsetURI(java.lang.String uriStr)voidsync()protected voidwriteFooter()protected voidwriteHeader()Write a header as produced by the embedded layout'sLayout.getHeader()method.
-
-
-
Field Detail
-
maprFS
protected org.apache.hadoop.fs.FileSystem maprFS
-
uri
protected java.net.URI uri
-
fileName
protected java.lang.String fileName
-
nameHierarchy
protected java.lang.String nameHierarchy
-
fileNamePath
protected org.apache.hadoop.fs.Path fileNamePath
-
failoverAppender
protected org.apache.log4j.Appender failoverAppender
-
failoverAppenderName
protected java.lang.String failoverAppenderName
-
BUFFER_SIZE
public int BUFFER_SIZE
-
immediateFlush
protected boolean immediateFlush
-
immediateSync
protected boolean immediateSync
-
syncIntervalSeconds
protected long syncIntervalSeconds
-
DIR_PREFIX
public static final java.lang.String DIR_PREFIX
-
-
Method Detail
-
setFailoverAppender
public void setFailoverAppender(java.lang.String failoverAppenderName)
-
setURI
public void setURI(java.lang.String uriStr)
-
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
public void setFile(java.lang.String fileName)
-
getFile
public java.lang.String 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()
- Specified by:
flushin interfacejava.io.Flushable
-
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
protected void createFile(org.apache.hadoop.fs.Path filePath) throws java.io.IOException- Throws:
java.io.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
-
writeFooter
protected void writeFooter()
-
writeHeader
protected void writeHeader()
Write a header as produced by the embedded layout'sLayout.getHeader()method.
-
getFileSize
protected long getFileSize() throws java.io.IOException- Throws:
java.io.IOException
-
failoverToLocalLogs
protected void failoverToLocalLogs(java.lang.Throwable reason)
-
getLogFilePermission
protected org.apache.hadoop.fs.permission.FsPermission getLogFilePermission()
-
-