Common Lisp Package: IRC-LOGGER

README:

FUNCTION

Public

REMOVE-LOGGER (NICK)

Quit the active connection with nick and remove from active list.

Undocumented

ADD-CHANNEL-LOGGER (LOGGER CHANNEL-NAME)

ADD-HOOK-LOGGER (LOGGER CLASS HOOK)

ADD-LOGGER (NICK SERVER &KEY (PORT 6667) CHANNELS OUTPUT (PASSWORD ) REALNAME USERNAME PRIVATE-LOG UNKNOWN-LOG (LOGGING-STREAM T) (ASYNC T) (FORMATS '(SEXP)))

REMOVE-CHANNEL-LOGGER (LOGGER CHANNEL-NAME)

REMOVE-HOOK-LOGGER (LOGGER CLASS HOOK)

Private

CREATE-LOGGER (NICK SERVER &KEY (PORT 6667) CHANNELS OUTPUT PASSWORD REALNAME USERNAME ASYNC PRIVATE-LOG UNKNOWN-LOG (LOGGING-STREAM T) (FORMATS '(TEXT)))

OUTPUT may be a pathname or a stream

DAEMON-MONITOR

This function runs in the background and monitors the connection of the logger.

ENSURE-OUTPUT-STREAM (UTIME LOGGER CHANNEL ISTREAM)

Ensures that *output-stream* is correct.

IS-UNICHANNEL-OUTPUT (USER-OUTPUT)

Returns T if output is setup for a single channel directory structure.

Undocumented

%IS-CONNECTED (LOGGER)

%LOG-FILE-PATH (OUTPUT-ROOT CHANNEL-NAME YEAR MONTH DAY TYPE)

ACTION-HOOK (MSG)

ADD-LOG-ENTRY (STREAM FMT &REST ARGS)

ADD-PRIVATE-LOG-ENTRY (LOGGER FMT &REST ARGS)

ATTEMPT-RECONNECTION (LOGGER)

CANONICALIZE-CHANNEL-NAME (NAME)

DAEMON-SLEEP (SECONDS)

DO-CONNECT-AND-JOIN (NICK SERVER PORT USERNAME REALNAME LOGGING-STREAM CHANNELS)

ENSURE-OUTPUT-STREAM-FOR-UNICHANNEL (UTIME LOGGER CHANNEL ISTREAM)

ERROR-HOOK (MSG)

FIND-CHANNEL-WITH-NAME (LOGGER NAME)

FIND-LOGGER-WITH-CONNECTION (CONN)

FIND-LOGGER-WITH-NICK (NICK)

FORMAT-DATE-TIME (UTIME &KEY STREAM)

FORMAT-UTIME (UTIME &OPTIONAL ZONE)

GET-FORMAT (LOGGER ISTREAM)

GET-OUTPUT-NAME (CHANNEL ISTREAM)

SETFGET-OUTPUT-NAME (VALUE CHANNEL ISTREAM)

GET-PRIVATE-LOG-STREAM (LOGGER)

GET-STREAM (CHANNEL ISTREAM)

SETFGET-STREAM (VALUE CHANNEL ISTREAM)

GET-UNKNOWN-LOG-STREAM (LOGGER)

INVITE-HOOK (MSG)

IS-CONNECTED (LOGGER)

JOIN-HOOK (MSG)

KICK-HOOK (MSG)

KILL-HOOK (MSG)

LAST-SEXP-FIELD (TYPE MSG)

LOG-DAEMON-MESSAGE (LOGGER FMT &REST ARGS)

LOG-DISCONNECTION (LOGGER)

LOG-FILE-PATH-UTIME (OUTPUT-ROOT CHANNEL-NAME FORMAT UTIME)

LOG-RECONNECTION (LOGGER)

MAKE-A-CHANNEL (NAME FORMATS OUTPUT)

MAKE-CHANNELS (NAMES FORMATS OUTPUT)

MAKE-OUTPUT-NAME (NAME YEAR MONTH DAY)

MAKE-OUTPUT-NAME-UTIME (NAME UTIME)

MODE-HOOK (MSG)

MONITOR-ONCE

NEED-USER-ADDRESS? (TYPE)

NICK-HOOK (MSG)

NOTICE-HOOK (MSG)

OUTPUT-EVENT (MSG TYPE CHANNEL-NAME &OPTIONAL TEXT)

OUTPUT-EVENT-FOR-A-STREAM (MSG TYPE CHANNEL TEXT LOGGER ISTREAM)

PART-HOOK (MSG)

PING-HOOK (MSG)

PONG-HOOK (MSG)

POSIX-TIME-TO-UTIME (TIME)

PRIVMSG-HOOK (MSG)

QUIT-HOOK (MSG)

QUIT-WITH-TIMEOUT (CONNECTION MSG)

RPL_ENDOFNAMES-HOOK (MSG)

RPL_NAMREPLY-HOOK (MSG)

RPL_TOPIC-HOOK (MSG)

RPL_TOPICWHOTIME-HOOK (MSG)

START-LOGGER (LOGGER ASYNC)

TOPIC-HOOK (MSG)

USER-ADDRESS (MSG)

WARNING-HOOK (MSG)

MACRO

Private

Undocumented

WITH-DECODING ((UTIME &OPTIONAL ZONE) &BODY BODY)

GENERIC-FUNCTION

Public

Undocumented

LOG-FILE-PATH (OUTPUT-ROOT CHANNEL-NAME YEAR MONTH DAY FORMAT)

Private

Undocumented

%OUTPUT-EVENT (FORMAT STREAM UTIME TYPE CHANNEL SOURCE TEXT MSG UNICHANNEL)

WRITE-FILE-HEADER (FORMAT CHANNEL-NAME STREAM)

SLOT-ACCESSOR

Private

ASYNC (OBJECT)

Whether to use async

C-NAME (OBJECT)

Name of channel.

CHANNEL-NAMES (OBJECT)

List of channel names.

SETFCHANNEL-NAMES (NEW-VALUE OBJECT)

List of channel names.

FORMATS (OBJECT)

A list of output formats.

HANDLER (OBJECT)

Background handler process.

SETFHANDLER (NEW-VALUE OBJECT)

Background handler process.

L-NICKNAME (OBJECT)

Nickname of the bot.

L-REALNAME (OBJECT)

Realname for cl-irc

L-USERNAME (OBJECT)

Username for cl-irc

LAST-PONG (OBJECT)

utime of last pong message

SETFLAST-PONG (NEW-VALUE OBJECT)

utime of last pong message

LOGGING-STREAM (OBJECT)

logging-stream for cl-irc.

MONITOR-EVENTS (OBJECT)

List of events for the monitor to process.

SETFMONITOR-EVENTS (NEW-VALUE OBJECT)

List of events for the monitor to process.

PORT (OBJECT)

Connected IRC server's port.

PRIVATE-LOG (OBJECT)

Pathname of the private log file for the daemon.

PRIVATE-LOG-STREAM (OBJECT)

Stream of the private log file for the daemon.

SERVER (OBJECT)

Connected IRC server.

STREAMS (OBJECT)

List of output streams.

UNICHANNEL (OBJECT)

T if user-output is directory for individual channel output.

UNKNOWN-LOG (OBJECT)

Pathname of the log file for unknown messages.

UNKNOWN-LOG-STREAM (OBJECT)

Stream of the log file for unknown messages.

USER-OUTPUT (OBJECT)

Output parameter from user, maybe stream or pathname.

WARNING-MESSAGE-UTIME (OBJECT)

Time of last, potentially active, warning message.

SETFWARNING-MESSAGE-UTIME (NEW-VALUE OBJECT)

Time of last, potentially active, warning message.

Undocumented

CURRENT-OUTPUT-NAMES (OBJECT)

SETFCURRENT-OUTPUT-NAMES (NEW-VALUE OBJECT)

OUTPUT-ROOT (OBJECT)

VARIABLE

Public

*LOGGERS*

List of active loggers.

Private

*DAEMON-MONITOR-PROCESS*

Process of background monitor.

Undocumented

*TIMEOUT*

*USER-ADDRESS-SCANNER*

*WARNING-MESSAGE-UTIME*

CLASS

Private

Undocumented

LOG-CHANNEL

LOGGER

CONSTANT

Private

Undocumented

+POSIX-EPOCH+