Loading...
Searching...
No Matches
Logger::LoggerAppenderStream Class Reference

implements appender writing to an output stream via StreamWriter More...

Inheritance diagram for Logger::LoggerAppenderStream:
[legend]

## Public Member Functions

| constructor (*string name, LoggerLayout layout, StreamWriter writer)
| Creates the object.
StreamWriter | getStreamWriter ()
| Returns the stream writer object.
bool | hasAssignThread ()
| Returns True if assigning a thread for a stream.
| processEventImpl (int type, auto params)
| Processes open, log, and close events with the output stream; all other events are ignored.
Public Member Functions inherited from Logger::LoggerAppenderWithLayout
| constructor (*string name, LoggerLayout layout)
| Creates the object.
LoggerLayout | getLayout ()
| Returns the layout for the appender.
| setLayout (LoggerLayout layout)
| Assigns a layout to the appender.
Public Member Functions inherited from Logger::LoggerAppender
| addFilter (LoggerFilter filter, bool top=False)
| Adds a filter to the chain.
| close ()
| Releases any resources allocated by the appender and closes it.
| constructor (*string name)
| Creates the object.
list< LoggerFilter > | getFilters ()
| Returns the filter chain as a list.
string | getName ()
| Returns the appender name.
*LoggerAppenderQueue | getQueue ()
| Returns async queue or NOTHING when events are processed synchronously.
bool | isOpen ()
| Returns True if the appender is open and therefore active.
| open ()
| Opens logging resources.
bool | post (LoggerEvent event)
| Posts the given event to the output queue.
| processEvent (int type, auto params)
| Processes an event to the physical target.
abstract | processEventImpl (int type, auto params)
| Processes the event to the physical target.
| removeAllFilters ()
| Clears the filter chain by removing all filters.
| removeFilter (LoggerFilter filter)
| Removes the given filter from the filter chain.
| setQueue (*LoggerAppenderQueue queue)
| Sets the appender queue.

## Private Attributes

bool | assignThread
| assign thread for stream
bool | closed = False
| closed flag
StreamWriter | writer
| stream writer

## Additional Inherited Members

Public Attributes inherited from Logger::LoggerAppender
const | EVENT_CLOSE = 3
| close event
const | EVENT_LOG = 2
| logging event
const | EVENT_OPEN = 1
| open event
Protected Member Functions inherited from Logger::LoggerAppenderWithLayout
auto | serializeImpl (LoggerEvent event)
| Returns the value formatted using the layout pattern.
Protected Member Functions inherited from Logger::LoggerAppender
*object | ensureAtomicOperations (int type)
| Returns an object that can be used to ensure atomic operations for appender operations.
RWLock | lock ()
| The lock to ensure proper serialization with concurrent access.
bool | pushEvent (int type, auto params)
| Pushes the given event on the queue or calls processEvent() in case of synchronous processing.
abstract auto | serializeImpl (LoggerEvent event)
| Serializes the given event to put in the queue or write to the target device.

## Detailed Description

implements appender writing to an output stream via StreamWriter

Qore streams are not designed to accept input from multiple threads simultaneously, so writing must be serialized and processed in a dedicated thread

## Member Function Documentation

## constructor()

Logger::LoggerAppenderStream::constructor | ( | *string | name,
|  | LoggerLayout | layout,
|  | StreamWriter | writer
| ) |  |

Creates the object.

Parameters

  name | the name of the appender
  layout | the layout for the appender
  writer | the stream to write to