The "log_sql" Module (v4)
Description
This module provides the ability to log to a SQL database.
Configuration
To load this module use the following <module>
tag:
<module name="log_sql">
<log>
This module extends the core <log>
tags with the following fields:
Name | Type | Default Value | Description |
---|---|---|---|
method | Text | None | Required! This MUST be set to sql to use SQL logging. |
dbid | Text | None | Required! The name of the database connection to execute the query against. |
query | Text | INSERT INTO ircd_log (time, type, message) VALUES (FROM_UNIXTIME($time), '$type', '$message'); | The query to use to insert a log message into the database. |
The query field can contain any of the following template variables:
Variable | Description |
---|---|
$level | The log level as an integer. |
$levelstr | The log level as a string. |
$message | The log message. |
$time | The log time as a UNIX timestamp |
$type | The log message type. |
Example Usage
<log method="sql"
level="normal"
type="* -USERINPUT -USEROUTPUT"
dbid="sql-log"
query="INSERT INTO ircd_log (time, type, message) VALUES (FROM_UNIXTIME($time), '$type', '$message');">
Special Notes
The following SQL modules are included with InspIRCd:
Engine | Module | Description |
---|---|---|
mysql | mysql | Queries a MySQL database. |
pgsql | pgsql | Queries a PostgreSQL database. |
sqlite3 | sqlite3 | Queries an SQLite database. |
Example schemas for the server operator database are available in the sql
subdirectory of the InspIRCd configuration directory. You can define your own schema as long as your query returns the required columns.