mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
logging/ascii: Support leftover log rotation in non-supervisor setups
We have a use case to rotate leftover log files in a non-supervisor setup. There doesn't seem to be a strict requirement on supervisor functionality. Allow enabling leftover log rotation through LogAscii::enable_leftover_log_rotation and redef this for the logger node in a supervisor setup individually.
This commit is contained in:
parent
c8545c85d8
commit
1f5ab4878b
4 changed files with 12 additions and 4 deletions
|
@ -37,6 +37,8 @@ function supervisor_rotation_format_func(ri: Log::RotationFmtInfo): Log::Rotatio
|
||||||
|
|
||||||
redef Log::rotation_format_func = supervisor_rotation_format_func;
|
redef Log::rotation_format_func = supervisor_rotation_format_func;
|
||||||
|
|
||||||
|
redef LogAscii::enable_leftover_log_rotation = T;
|
||||||
|
|
||||||
@else
|
@else
|
||||||
|
|
||||||
## Use the cluster's archive logging script.
|
## Use the cluster's archive logging script.
|
||||||
|
|
|
@ -26,6 +26,12 @@ export {
|
||||||
## This option is also available as a per-filter ``$config`` option.
|
## This option is also available as a per-filter ``$config`` option.
|
||||||
const use_json = F &redef;
|
const use_json = F &redef;
|
||||||
|
|
||||||
|
## If true, enable leftover log rotation using .shadow files.
|
||||||
|
##
|
||||||
|
## This requires a positive rotation_interval to be configued
|
||||||
|
## to have an effect.
|
||||||
|
const enable_leftover_log_rotation = F &redef;
|
||||||
|
|
||||||
## If true, valid UTF-8 sequences will pass through unescaped and be
|
## If true, valid UTF-8 sequences will pass through unescaped and be
|
||||||
## written into logs.
|
## written into logs.
|
||||||
##
|
##
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
|
|
||||||
#include "Func.h"
|
#include "Func.h"
|
||||||
#include "RunState.h"
|
#include "RunState.h"
|
||||||
#include "supervisor/Supervisor.h"
|
|
||||||
#include "logging/Manager.h"
|
#include "logging/Manager.h"
|
||||||
#include "threading/SerialTypes.h"
|
#include "threading/SerialTypes.h"
|
||||||
|
|
||||||
|
@ -450,7 +449,7 @@ bool Ascii::DoInit(const WriterInfo& info, int num_fields, const threading::Fiel
|
||||||
|
|
||||||
fname += ext;
|
fname += ext;
|
||||||
|
|
||||||
bool use_shadow = Supervisor::ThisNode() && info.rotation_interval > 0;
|
bool use_shadow = BifConst::LogAscii::enable_leftover_log_rotation && Info().rotation_interval > 0;
|
||||||
|
|
||||||
if ( use_shadow )
|
if ( use_shadow )
|
||||||
{
|
{
|
||||||
|
@ -667,7 +666,7 @@ bool Ascii::DoRotate(const char* rotated_path, double open, double close, bool t
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool use_shadow = Supervisor::ThisNode() && Info().rotation_interval > 0;
|
bool use_shadow = BifConst::LogAscii::enable_leftover_log_rotation && Info().rotation_interval > 0;
|
||||||
|
|
||||||
if ( use_shadow )
|
if ( use_shadow )
|
||||||
{
|
{
|
||||||
|
@ -744,7 +743,7 @@ static std::vector<LeftoverLog> find_leftover_logs()
|
||||||
|
|
||||||
void Ascii::RotateLeftoverLogs()
|
void Ascii::RotateLeftoverLogs()
|
||||||
{
|
{
|
||||||
if ( ! Supervisor::ThisNode() )
|
if ( ! BifConst::LogAscii::enable_leftover_log_rotation )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Log file crash recovery: if there's still leftover shadow files from the
|
// Log file crash recovery: if there's still leftover shadow files from the
|
||||||
|
|
|
@ -11,6 +11,7 @@ const set_separator: string;
|
||||||
const empty_field: string;
|
const empty_field: string;
|
||||||
const unset_field: string;
|
const unset_field: string;
|
||||||
const use_json: bool;
|
const use_json: bool;
|
||||||
|
const enable_leftover_log_rotation: bool;
|
||||||
const enable_utf_8: bool;
|
const enable_utf_8: bool;
|
||||||
const json_timestamps: JSON::TimestampFormat;
|
const json_timestamps: JSON::TimestampFormat;
|
||||||
const gzip_level: count;
|
const gzip_level: count;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue