Remove ctxt_ from contentPrefix
dwalczyk opened this issue · comments
dwalczyk commented
Monolog version 2
How can i remove or replace default contentPrefix from GelfMessageFormatter ?
public function __construct(?string $systemName = null, ?string $extraPrefix = null, string $contextPrefix = 'ctxt_', ?int $maxLength = null)
{
parent::__construct('U.u');
$this->systemName = (is_null($systemName) || $systemName === '') ? gethostname() : $systemName;
$this->extraPrefix = is_null($extraPrefix) ? '' : $extraPrefix;
$this->contextPrefix = $contextPrefix;
$this->maxLength = is_null($maxLength) ? self::DEFAULT_MAX_LENGTH : $maxLength;
}
I'm using symfony monolog bundle
monolog.yaml
graylog:
type: service
id: monolog.gelf_handler
level: debug
channels: ["graylog"]
services.yaml
monolog.gelf_handler:
class: Monolog\Handler\GelfHandler
arguments:
- '@gelf.publisher'
- 'warning' #monolog config is ignored with custom service level has to be redefined here (default : debug), you should probably use parameters eg: '%gelf_level%'
gelf.publisher:
class: Gelf\Publisher
arguments: [ '@gelf.ignore_error_transport' ]
gelf.ignore_error_transport:
class: Gelf\Transport\IgnoreErrorTransportWrapper
arguments: [ '@gelf.transport' ]
gelf.transport:
class: Gelf\Transport\UdpTransport # or Tcp, Amp, Http,...
arguments: ['xxx', 12201] # ... whatever is required
Jordi Boggiano commented
I think smth like this should do:
monolog.gelf_handler:
class: Monolog\Handler\GelfHandler
arguments:
- '@gelf.publisher'
- 'warning' #monolog config is ignored with custom service level has to be redefined here (default : debug), you should probably use parameters eg: '%gelf_level%'
calls:
- setFormatter: [ '@gelf.formatter' ]
gelf.formatter:
class: Monolog\Formatter\GelfMessageFormatter
arguments: [ '@gelf.ignore_error_transport' ]
gelf.publisher:
class: Gelf\Publisher
arguments: [ null, null, '' ]
gelf.ignore_error_transport:
class: Gelf\Transport\IgnoreErrorTransportWrapper
arguments: [ '@gelf.transport' ]
gelf.transport:
class: Gelf\Transport\UdpTransport # or Tcp, Amp, Http,...
arguments: ['xxx', 12201] # ... whatever is required