Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

2.2 ARQUIVO DE CONFIGURAÇÃO PADRÃO

...

default-appsettings.log.json

Bloco de código
languagejs
themeRDark
linenumberstrue
{
  "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",
    "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,
                "rollingInterval": "Day",
                "fileSizeLimitBytes": 1073741824,
                "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}"
              }
            }
          ]
        }
      }
    ]
  }
}

...

Exemplo excluir arquivos com mais de 7 dias. purge-files-appsettings.log.json

Bloco de código
languagejs
themeRDark
linenumberstrue
{
  "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"],
    "WriteTo": [
       {
		  "Name": "Async",
		  "Args": {
			"configure": [
			  {
				"Name": "MapToFile",
				"Args": {
					"rollOnFileSizeLimit": "true", //Habilita um tamanho limite para o arquivo de log
					"fileSizeLimitBytes": "52428800", // Especifica o tamanho de cada arquivo de log
					"rollingInterval": "Day", //Criar um novo arquivo a cada dia
					"retainedFileCountLimit": "100", //Limite máximo de arquivos se ultrapassar esse valor o sistema exclui os mais antigos
					"retainedFileTimeLimit": "7.00:00:00", //Exclui arquivos com mais de 7 dias 
				}
			  }
			]
		  }
		}
    ]
  }
}

...

2.3 EXMPLOS DE CONFIGURAÇÕES

Logar somente no console console-appsettings.log.json

Bloco de código
languagejs
themeRDark
linenumberstrue
{
  "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"],
    "WriteTo": [        
	  {
		  "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}"
		  }
	  }
     ]
  }
}

Logar somente no Seq seq-appsettings.log.json

Bloco de código
languagejs
themeRDark
linenumberstrue
{
  "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"],     
	"WriteTo": [
      {
        "Name": "Seq",
        "Args": { "serverUrl": "http://localhost:5341" }
      }
    ]
   }
}

Logar somente no Arquivo, excluindo arquivos antigos a cada 7 dias após serem criados. last-seven-days-purge-files-appsettings.log.json

Bloco de código
languagejs
themeRDark
linenumberstrue
{
  "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"],     
	"WriteTo": [
      {
        "Name": "Async",
        "Args": {
          "configure": [
            {
              "Name": "MapToFile",
              "Args": {
				"rollingInterval": "Day",
				"fileSizeLimitBytes": "52428800",
				"rollOnFileSizeLimit": "true",
				"retainedFileCountLimit": "100",
				"retainedFileTimeLimit": "7.00:00:00", //Deletes files older than 7 days
				"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}"
              }
            }
          ]
        }
      }
    ]
   }
}