Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
logRotate
Definição
logRotate
O comando
logRotate
é um comando administrativo que permite a você girar o registro do servidor MongoDB e/ou registro de auditoria para evitar que um único arquivo de log consuma muito espaço em disco.Você deve emitir o comando
logRotate
no banco de dados admin utilizando a seguinte sintaxe:db.adminCommand( { logRotate: <integer or string>, comment: <string> } )
Campos de comando
O comando utiliza os seguintes campos:
Campo | Tipo | Descrição |
---|---|---|
logRotate | inteiro ou string | A tora ou toras a serem rotacionadas, de acordo com o seguinte:
|
comment | string | Opcional. Uma mensagem registrada pelo servidor no arquivo de registro e no arquivo de auditoria no momento da rotação do registro. |
Você também pode girar os registros enviando um sinal do SIGUSR1
para o processo do mongod
.
Por exemplo, se uma instância mongod
em execução tiver um ID de processo (PID) de 2200
, o comando a seguir rotacionará o arquivo de log dessa instância no Linux:
kill -SIGUSR1 2200
Limitações
Sua instância
mongod
precisa estar em execução com a opção--logpath [file]
para usarlogRotate
A auditoria deve estar habilitada para girar o registro de auditoria.
Comportamento
A configuração systemLog.logRotate
ou opção --logRotate
especifica o comportamento logRotate
.
Quando systemLog.logRotate
ou --logRotate
são definidos como rename
, logRotate
renomeia o arquivo de log existente anexando o carimbo de data/hora atual ao nome do arquivo. O carimbo de data/hora anexado tem o seguinte formato:
<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>
Em seguida, logRotate
cria um novo arquivo de log com o mesmo nome originalmente especificado pela configuração systemLog.path
como mongod
ou mongos
.
Quando systemLog.logRotate
ou --logRotate
são definidos como reopen
, logRotate
segue o comportamento típico do Linux/Unix e simplesmente fecha o arquivo de log e reabre um arquivo de log com o mesmo nome. Com reopen
, mongod
espera que outro processo renomeie o arquivo antes da rotação e que a reabertura resulte na criação de um novo arquivo.
Exemplos
O exemplo a seguir alterna o log do servidor e o log de auditoria:
db.adminCommand( { logRotate: 1 } )
O exemplo a seguir alterna apenas o log de auditoria e fornece uma mensagem personalizada para o arquivo de log no momento da rotação:
db.adminCommand( { logRotate: "audit", comment: "Rotating audit log" } )