Modul: Core

Eine Instanz eines Logger ermöglicht das Loggen von Inhalten.

Diese erhält man über das KnuddelsServer-Objekt mit KnuddelsServer.getDefaultLogger()

Die Log-Einträge werden je nach Einstellungen im /apps-Fenster an den Besitzer des Channels, die App-Manager und den App-Entwickler zugestellt.

Übersicht

Methoden

debug

(
  • msg
)

Logge einen Text mit Level DEBUG. Dieser wird im Chat allen dafür registrierten AppManagern per /p vom App-Logs-User zugestellt. Siehe: /apps, Tab: Logs.

Die Methode erwartet beliebig viele Strings als Parameter. Diese werden vor dem Logging mit einem Leerzeichen gejoint.

Parameter:

  • msg Object multiple

    Texte, Objekte, Errors, die geloggt werden sollen (Errors werden automatisch mit Stacktrace ausgegeben)

Beispiel:

var logger = KnuddelsServer.getDefaultLogger();

var x = 10;
logger.debug('x hat nun den Wert: ' + x);

error

(
  • msg
)

Logge einen Text mit Level ERROR. Dieser wird im Chat allen dafür registrierten AppManagern per /p vom App-Logs-User zugestellt, sowie im /apps Fenster im Log angezeigt. Siehe: /apps, Tab: Logs.

Die Methode erwartet beliebig viele Strings als Parameter. Diese werden vor dem Logging mit einem Leerzeichen gejoint.

Parameter:

  • msg Object multiple

    Texte, Objekte, Errors, die geloggt werden sollen (Errors werden automatisch mit Stacktrace ausgegeben)

Beispiel:

var logger = KnuddelsServer.getDefaultLogger();

function greetUser(user)
{
    try
    {
        if (typeof user != 'User')
        {
            logger.error('Parameter user ist vom Typ ' + (typeof User) + '. (erwartet: User)');
        }
        else
        {
            user.sendPrivateMessage('Hallo ' + user.getProfileLink() + '!');
        }
    }
    catch (e)
    {
        logger.error(e);
    }
}

fatal

(
  • msg
)

Logge einen Text mit Level FATAL. Dieser wird im Chat allen dafür registrierten AppManagern per /p vom App-Logs-User zugestellt, sowie im /apps Fenster im Log angezeigt. Siehe: /apps, Tab: Logs.

Die Methode erwartet beliebig viele Strings als Parameter. Diese werden vor dem Logging mit einem Leerzeichen gejoint.

Parameter:

  • msg Object multiple

    Texte, Objekte, Errors, die geloggt werden sollen (Errors werden automatisch mit Stacktrace ausgegeben)

Beispiel:

function divideAndPrint(base, divisor)
{
    try
    {
        var result = base / divisor;
        var botUser = KnuddelsServer.getDefaultBotUser();
        var message = 'Das Ergebnis aus ' + base + '/' + divisor + ' lautet ' + result;
        botUser.sendPublicMessage(message);
    }
    catch (e)
    {
        var logger = KnuddelsServer.getDefaultLogger();
        var logMsg = 'Bei der Division ' + base + '/' + divisor + ' trat ein Fehler auf:';
        logger.fatal(logMsg, e);
    }
}

info

(
  • msg
)

Logge einen Text mit Level INFO. Dieser wird im Chat allen dafür registrierten AppManagern per /p vom App-Logs-User zugestellt. Siehe: /apps, Tab: Logs.

Die Methode erwartet beliebig viele Strings als Parameter. Diese werden vor dem Logging mit einem Leerzeichen gejoint.

Parameter:

  • msg Object multiple

    Texte, Objekte, Errors, die geloggt werden sollen (Errors werden automatisch mit Stacktrace ausgegeben)

Beispiel:

var logger = KnuddelsServer.getDefaultLogger();

var taxRate = appInfo.getTaxRate();
logger.info('Derzeit liegt der App-Steuersatz bei ' + taxRate + '%.');

warn

(
  • msg
)

Logge einen Text mit Level WARN. Dieser wird im Chat allen dafür registrierten AppManagern per /p vom App-Logs-User zugestellt, sowie im /apps Fenster im Log angezeigt. Siehe: /apps, Tab: Logs.

Die Methode erwartet beliebig viele Strings als Parameter. Diese werden vor dem Logging mit einem Leerzeichen gejoint.

Parameter:

  • msg Object multiple

    Texte, die geloggt werden sollen

Beispiel:

var maxPayout = appInfo.getMaxPayoutKnuddelAmount().asNumber();
if (maxPayout < 0)
{
    var logger = KnuddelsServer.getDefaultLogger();

    var warnTextDefault = 'Achtung: Der AppBot wird nicht alle Steuern bezahlen können.';
    var warnTextDynamic = 'Dem AppBot fehlen ' + Math.abs(maxPayout) +  ' Knuddel.'

    logger.warn(warnTextDefault, warnTextDynamic);
}