61 parent::__construct(
'Y-m-d\TH:i:s.uP');
73 public function format(array $record)
75 $record = parent::format($record);
77 if ($this->version === self::V1) {
83 return $this->
toJson($message) .
"\n";
88 if (empty($record[
'datetime'])) {
89 $record[
'datetime'] = gmdate(
'c');
92 '@timestamp' => $record[
'datetime'],
93 '@source' => $this->systemName,
96 if (isset($record[
'message'])) {
97 $message[
'@message'] = $record[
'message'];
99 if (isset($record[
'channel'])) {
100 $message[
'@tags'] = array($record[
'channel']);
101 $message[
'@fields'][
'channel'] = $record[
'channel'];
103 if (isset($record[
'level'])) {
104 $message[
'@fields'][
'level'] = $record[
'level'];
106 if ($this->applicationName) {
109 if (isset($record[
'extra'][
'server'])) {
110 $message[
'@source_host'] = $record[
'extra'][
'server'];
112 if (isset($record[
'extra'][
'url'])) {
113 $message[
'@source_path'] = $record[
'extra'][
'url'];
115 if (!empty($record[
'extra'])) {
116 foreach ($record[
'extra'] as $key => $val) {
117 $message[
'@fields'][$this->extraPrefix . $key] = $val;
120 if (!empty($record[
'context'])) {
121 foreach ($record[
'context'] as $key => $val) {
122 $message[
'@fields'][$this->contextPrefix . $key] = $val;
131 if (empty($record[
'datetime'])) {
132 $record[
'datetime'] = gmdate(
'c');
135 '@timestamp' => $record[
'datetime'],
137 'host' => $this->systemName,
139 if (isset($record[
'message'])) {
140 $message[
'message'] = $record[
'message'];
142 if (isset($record[
'channel'])) {
143 $message[
'type'] = $record[
'channel'];
144 $message[
'channel'] = $record[
'channel'];
146 if (isset($record[
'level_name'])) {
147 $message[
'level'] = $record[
'level_name'];
149 if ($this->applicationName) {
152 if (!empty($record[
'extra'])) {
153 foreach ($record[
'extra'] as $key => $val) {
154 $message[$this->extraPrefix . $key] = $val;
157 if (!empty($record[
'context'])) {
158 foreach ($record[
'context'] as $key => $val) {
159 $message[$this->contextPrefix . $key] = $val;