⚠️ Este é um site de tradução não oficial, sem relação com o DCMTK / OFFIS. Para informações oficiais, consulte a página original (https://support.dcmtk.org/docs/mod_oflog.html).

oflog: uma biblioteca de registro de log baseada em log4cplus

Este módulo contém classes usadas para fins de registro de log. Essa biblioteca é baseada no log4cplus.

As principais classes são (em ordem alfabética):

Arquivos

Os arquivos a seguir fornecem exemplos de configuração e documentação adicional:

Exemplos

O exemplo a seguir mostra como usar o oflog em um aplicativo de console.

O registro de log em si

Primeiro precisamos dos cabeçalhos e definições necessários:

// Naturally, we need the header for oflog

#include "dcmtk/oflog/oflog.h"

// Then we create our logger object. The argument is the name of the logger

// which can be used to configure it from the config file

OFLogger my_log = OFLog::getLogger("dcmtk.apps.sample");

Isso é tudo o que é necessário para criar instruções de registro de log. Agora você pode usar qualquer uma das macros a seguir para gerar entradas de log:

OFLOG_FATAL(my_log, "This is a sample message of log level 'fatal'");

OFLOG_ERROR(my_log, "There are six log levels and each provides a OFLOG_level() macro");

OFLOG_WARN(my_log, "These macros are quite flexible");

OFLOG_INFO(my_log, "To output numbers like " << 5 << " you can use any iostream operations");

OFLOG_DEBUG(my_log, "Since iostreams are quite flexible themselves, a lot of stuff is possible");

OFLOG_TRACE(my_log, "hex numbers? 0x" << STD_NAMESPACE hex << 0x1234 << " and decimal numbers "

<< STD_NAMESPACE dec << 0x1234 << " are no problem at all");

Configuração do registro de log

Embora o código acima funcione por si só, o resultado não é bonito nem flexível. Para configurar o oflog com a ajuda de OFCommandLine, você pode fazer algo assim:

// This is just an example

cmd.addGroup("general options:", LONGCOL, SHORTCOL);

// You own options here, e.g. --version

cmd.addOption("--version", "print version information and exit", OFCommandLine::AF_Exclusive);

// This call adds all of oflog's options, e.g. --debug and --quiet

OFLog::addOptions(cmd);

Depois de chamar OFConsoleApplication::parseCommandLine(), o oflog pode ser configurado com uma única chamada:

OFLog::configureFromCommandLine(cmd, app);

Isso é tudo o que é necessário para configurar o logger e disponibilizar opções como –verbose e –log-config.

Alternativamente, você pode usar OFLog::configure(), mas essa abordagem não oferece a flexibilidade de –log-level e –log-config.

O formato padrão das mensagens de log é "%P: %m%n", ou seja, o primeiro caractere do nível de log (por exemplo, "D" para debug ou "E" para error), dois-pontos, a mensagem e uma quebra de linha.