FileWriter extends AbstractWriter
Log writer that writes the log records into a file.
Table of Contents
Properties
- $defaultLogFileTemplate : string
- Default log file path
- $logFile : string
- Log file path, relative to TYPO3's base project folder
- $logFileHandles : array<string|int, mixed>
- Log file handle storage
- $logFileHandlesCount : array<string|int, mixed>
- Keep track of used file handles by different fileWriter instances
- $logFileInfix : string
Methods
- __construct() : mixed
- Constructor, opens the log file handle
- __destruct() : mixed
- Destructor, closes the log file handle
- __wakeup() : mixed
- Deny object deserialization.
- getLogFile() : string
- Gets the path to the log file.
- setLogFile() : WriterInterface
- Sets the path to the log file.
- setLogFileInfix() : mixed
- writeLog() : WriterInterface
- Writes the log record
- closeLogFile() : mixed
- Closes the log file handle.
- createHtaccessFile() : mixed
- Creates .htaccess file inside a new directory to access protect it
- createLogFile() : mixed
- Creates the log file with correct permissions and parent directories, if needed
- formatContextValue() : string
- Escape or quote a value from the context appropriate for the output.
- formatException() : string
- Formats an exception into a string.
- getDefaultLogFileName() : string
- Returns the path to the default log file.
- interpolate() : string
- Interpolates context values into the message placeholders.
- openLogFile() : mixed
- Opens the log file handle
Properties
$defaultLogFileTemplate
Default log file path
        protected
            string
    $defaultLogFileTemplate
     = '/log/typo3_%s.log'
    
    
    
    
    
$logFile
Log file path, relative to TYPO3's base project folder
        protected
            string
    $logFile
     = ''
    
    
    
    
    
$logFileHandles
Log file handle storage
        protected
        static    array<string|int, mixed>
    $logFileHandles
     = []
        To avoid concurrent file handles on a the same file when using several FileWriter instances, we share the file handles in a static class variable
Tags
$logFileHandlesCount
Keep track of used file handles by different fileWriter instances
        protected
        static    array<string|int, mixed>
    $logFileHandlesCount
     = []
        As the logger gets instantiated by class name but the resources are shared via the static $logFileHandles we need to track usage of file handles to avoid closing handles that are still needed by different instances. Only if the count is zero may the file handle be closed.
$logFileInfix
        protected
            string
    $logFileInfix
     = ''
    
    
    
    
    
Methods
__construct()
Constructor, opens the log file handle
    public
                    __construct([array<string|int, mixed> $options = [] ]) : mixed
    Parameters
- $options : array<string|int, mixed> = []
- 
                    Configuration options - depends on the actual log writer 
__destruct()
Destructor, closes the log file handle
    public
                    __destruct() : mixed
    __wakeup()
Deny object deserialization.
    public
                    __wakeup() : mixed
    getLogFile()
Gets the path to the log file.
    public
                    getLogFile() : string
    Return values
stringsetLogFile()
Sets the path to the log file.
    public
                    setLogFile(string $relativeLogFile) : WriterInterface
    Parameters
- $relativeLogFile : string
- 
                    path to the log file, relative to public web dir 
Tags
Return values
WriterInterfacesetLogFileInfix()
    public
                    setLogFileInfix(string $infix) : mixed
    Parameters
- $infix : string
writeLog()
Writes the log record
    public
                    writeLog(LogRecord $record) : WriterInterface
    Parameters
- $record : LogRecord
- 
                    Log record 
Tags
Return values
WriterInterface —$this
closeLogFile()
Closes the log file handle.
    protected
                    closeLogFile() : mixed
    createHtaccessFile()
Creates .htaccess file inside a new directory to access protect it
    protected
                    createHtaccessFile(string $htaccessFile) : mixed
    Parameters
- $htaccessFile : string
- 
                    Path of .htaccess file 
createLogFile()
Creates the log file with correct permissions and parent directories, if needed
    protected
                    createLogFile() : mixed
    formatContextValue()
Escape or quote a value from the context appropriate for the output.
    protected
                    formatContextValue(string $value) : string
    Note: In some output cases, escaping should not be done here but later on output, such as if it's being written to a database for later display.
Parameters
- $value : string
Return values
stringformatException()
Formats an exception into a string.
    protected
                    formatException(Throwable $ex) : string
    The format here is nearly the same as just casting an exception to a string, but omits the full class namespace and stack trace, as those get very long.
Parameters
- $ex : Throwable
Return values
stringgetDefaultLogFileName()
Returns the path to the default log file.
    protected
                    getDefaultLogFileName() : string
    Uses the defaultLogFileTemplate and replaces the %s placeholder with a short MD5 hash based on a static string and the current encryption key.
Return values
stringinterpolate()
Interpolates context values into the message placeholders.
    protected
                    interpolate(string $message[, array<string|int, mixed> $context = [] ]) : string
    Parameters
- $message : string
- $context : array<string|int, mixed> = []
Return values
stringopenLogFile()
Opens the log file handle
    protected
                    openLogFile() : mixed