PHP code example of open-telemetry / opentelemetry-logger-monolog
1. Go to this page and download the library: Download open-telemetry/opentelemetry-logger-monolog library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
open-telemetry / opentelemetry-logger-monolog example snippets
$loggerProvider = new \OpenTelemetry\SDK\Logs\LoggerProvider(/* params */);
$handler = new \OpenTelemetry\Contrib\Logs\Monolog\Handler(
$loggerProvider,
'info',
true,
);
$logger = new \Monolog\Logger(
'name',
[$handler],
);
$logger->info('hello world');
$host = new stdClass();
$host->name = 'example.com';
$host->tcp = 80;
new Monolog\LogRecord(
...,
context: [
'foo' => 'bar',
'baz' => 'bat',
],
extra: [
'host' => $host,
]
);
/**
* becomes:
*
* OpenTelemetry\API\Logs\LogRecord (
* ...,
* attributes => array (
* context => array (
* foo => 'bar',
* baz => 'bat',
* )
* context.foo => 'bar'
* context.baz => 'bat'
* extra => array (
* host => array (
* stdClass => array (
* name => 'example.com'
* tcp => 80
* )
* )
* )
* extra.host => stdClass (
* name => 'example.com'
* tcp => 80
* )
* )
* )
*/
new Monolog\LogRecord(
...,
context: [
'myapp.data.foo' => 'bar',
'myapp.data.baz' => 'bat',
],
extra: [
'server.address' => 'example.com',
'server.port' => 80,
]
);
/**
* becomes:
*
* OpenTelemetry\API\Logs\LogRecord (
* ...,
* attributes => array (
* myapp.data.foo => 'bar'
* myapp.data.baz => 'bat'
* server.address => 'example.com'
* server.port => 80
* )
* )
*/