Histórico da Página
Propriedade da sessão:
CONTEÚDO
- Visão Geral
- Como configurar
...
Tracklog é configurado através de um arquivo json: appsettings.log.json que deve ficar dentro da pasta Bin do sistema, caso o arquivo não seja encontrado o sistema assume as configurações padrões.
O conteúdo do arquivo de configuração é divido em algumas sessões.
2.1 SESSÕES DO ARQUIVO DE CONFIGURAÇÃO
A principal é a sessão é a "Serilog", onde é informado como e sistema deve escrever o arquivo de log e os recursos que serão utilizados:
Serilog
Sessão |
---|
Principal | Subsesões | Pode ser |
---|
alterado? | |||
---|---|---|---|
Serilog | |||
Using | Não | Recursos usados pelo Serilog | |
Enrich | Não | Informações usadas para enriquecer os dados do log. | |
MinimumLevel | Sim | Nível mínimo que deve ser registrado. 0-Verbose, 1-Debug, 2 - Information, 3-Warning, 4-Error, 5-Fatal | |
Filter | Sim | Usa expressão para filtrar eventos que passam pelo pipeline Serilog - Opções de Name: ByExcluding ou ByIncludingOnly | |
WriteTo | Somente os argumentos na subseção Args da MapToFile | Define como e onde o log deve ser escrito e salvo. |
WriteTo :
Name: Async
Args: Configure
Name: MapToFile
Args:
Propriedade | Descrição | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
path | Caminho onde o arquivo de log vai ser salvo Padrão: Bin\Logs | ||||||||||||||
restrictedToMinimumLevel | Somente mensagens de log deste nível acima são enviadas para este coletor. Padrão: Verbose | ||||||||||||||
formatProvider | Fornece informações de formatação específicas da cultura ou null. | ||||||||||||||
outputTemplate | Um modelo de mensagem descrevendo o formato usado para gravar no coletor. O padrão é "{SourceContext}{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Legacy} [{Level:u3}] {Message:lj} ({EnvironmentName}|{EnvironmentUserName}) <{ThreadId}:{ThreadName}>[{ProcessId}:{ProcessName}] [{CallerFilePath} - ({CallerLineNumber}) - {CallerMemberName}] [{Module}, {Category}, {Funcionality}] {NewLine}{Exception}". | ||||||||||||||
fileSizeLimitBytes | O tamanho máximo aproximado, em bytes, para o qual um arquivo de log poderá crescer. Para crescimento irrestrito, passe null. O padrão é 1 GB. Para evitar escrever eventos parciais, o último evento dentro do limite será escrito na íntegra mesmo que exceda o limite. | ||||||||||||||
buffered | Indica se a liberação para o arquivo de saída pode ser armazenada em buffer ou não. O padrão é false. | ||||||||||||||
shared | Permitir que o arquivo de log seja compartilhado por vários processos. O padrão é false. | ||||||||||||||
flushToDiskInterval | Se fornecido, uma limpeza completa do disco será executada periodicamente no intervalo especificado. Exemplo: flushToDiskInterval: "2.00:00:00" | ||||||||||||||
rollingInterval | O intervalo no qual o registro será transferido para um novo arquivo.
| ||||||||||||||
rollOnFileSizeLimit | Se True, um novo arquivo será criado quando o limite de tamanho do arquivo for atingido. Nomes de arquivo terá um número anexado no formato _NNN, com o primeiro nome de arquivo sem número. | ||||||||||||||
retainedFileCountLimit | O número máximo de arquivos de log que serão retidos, incluindo o arquivo de log atual. Para retenção ilimitada, passe null. O padrão é 31. | ||||||||||||||
encoding | Codificação de caracteres usada para escrever o arquivo de texto. O padrão é UTF8 Opções: UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, ASCII, Default | ||||||||||||||
retainedFileTimeLimit | O tempo máximo após o término de um intervalo em que um arquivo de log contínuo será retido. Exemplo: retainedFileTimeLimit: "6.14:32:15" |
WriteTo :
Name:Console
Args:
Propriedade | Descrição |
---|---|
theme | Define um tema para ser usado ao escrever o log no console |
outputTemplate | Um modelo de mensagem descrevendo o formato usado para gravar no console. Padrão: {Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Legacy} [{Level:u3}] {Message:lj} {EnvironmentUserName} {EnvironmentName}- <{ThreadId}>{NewLine}{ExceptionDetails} |
WriteTo :
Name: Seq
Args:
Propriedade | Descrição |
---|---|
serverUrl | Define a url do servidor Seq. |
*O Seq é um servidor de pesquisa e análise em tempo real para dados de log de aplicativos estruturados.
appsettings.log.json
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "Serilog": { "Using": ["Serilog", "Serilog.Enrichers.Environment", "Serilog.Enrichers.Process", "Serilog.Settings.Configuration", "Serilog.Sinks.Seq", "Serilog.Expressions", "RM.Lib.Monitoring.Tracklog"], "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithThreadId", "WithEnvironmentUserName", "WithEnvironmentName"], "MinimumLevel": "Verbose", /*"Filter": [ { "Name": "ByExcluding", "Args": { "expression": "Tenant = 'APP1'" } } ],*/ "WriteTo": [ { "Name": "Seq", "Args": { "serverUrl": "http://localhost:5341" } }, { "Name": "Console", "Args": { "theme": "Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console", "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Legacy} [{Level:u3}] {Message:lj} {EnvironmentUserName} {EnvironmentName}- <{ThreadId}>{NewLine}{ExceptionDetails}" } }, { "Name": "Async", "Args": { "configure": [ { "Name": "MapToFile", "Args": { "rollOnFileSizeLimit": true, "fileSizeLimitBytes": 100000000000, "retainedFileCountLimit": 31, "outputTemplate":"{SourceContext}{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Legacy} [{Level:u3}] {Message:lj} ({EnvironmentName}|{EnvironmentUserName}) <{ThreadId}:{ThreadName}>[{ProcessId}:{ProcessName}] [{CallerFilePath} - ({CallerLineNumber}) - {CallerMemberName}] [{Module}, {Category}, {Funcionality}] {NewLine}{Exception}" } } ] } } ] } } |
...