Yes, you'll need to use the same idea for all events you want logged.
The same basic type of format can be used for the events, with only a few changes depending on the format of the event.
Events to consider including:
Text
Action
Join
Part
Quit
Input
Nick
Notice (maybe)
Mode (this includes topic changes... just output the $1- and it should appear correctly)
Just change the write line so it looks the way you want. Basically, you need to change only this section of the write line:
$+(<,$nick,>) $1-The rest should stay the say for that line.
As an example, for actions, you'd change that part to:
* $nick $1-(and perhaps add the color you use for actions).
As a final note... for the ON INPUT event, you need to manually do your own actions/nick changes/modes/etc because you won't trigger from the other events.
Example:
on *:input:*: {
if ($1 == /me) { do the action output ... don't forget to use $me instead of $nick }
elseif ($1 == /nick) { do the nick output }
elseif ($1 == /mode) { do the mode output }
}
*****NOTE: I just realized that the format I used for the /write command will only work if you're logging a channel. Here's an updated way to do it:
on *:text:*:*: {
if ($chan != $null) {
write $+($chan,.,$network,.,$date(yyyymmdd),.log) $+([,$time(hh:nntt),]) $+(<,$nick,>) $1-
}
else {
write $+($nick,.,$network,.,$date(yyyymmdd),.log) $+([,$time(hh:nntt),]) $+(<,$nick,>) $1-
}
}
That will use the nick in the log's filename instead of the channel if the text is in a query/chat/fserv/etc window. Note that for the on input event, you can use the original method, by just replacing $chan with $target .