summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Format.php99
-rw-r--r--tests/FileSystemDriverTest.php70
-rw-r--r--tests/FormatTest.php22
-rw-r--r--tests/LoggrTest.php56
-rw-r--r--tests/OutputDriverTest.php54
5 files changed, 113 insertions, 188 deletions
diff --git a/src/Format.php b/src/Format.php
index fa1c215..5f587b6 100644
--- a/src/Format.php
+++ b/src/Format.php
@@ -72,37 +72,13 @@ enum Format
/** @var string $trace_file */
$trace_file = $message->trace['file'];
- // Date
- $date = $dateTime->format('Y-m-d H:i:s');
- $line = "[$date] ";
-
- // File name and level
+ $datetime = $dateTime->format('Y-m-d H:i:s');
$filename = pathinfo($trace_file, PATHINFO_FILENAME);
$level = strtoupper($message->level->value);
- $line .= "{$filename}.{$level}: ";
-
- // Message
- if (!empty($message->content) && !empty($message->context)) {
- $line .= "{$message->content} - ";
- }
-
- if (!empty($message->content) && empty($message->context)) {
- $line .= "{$message->content}";
- }
-
- // Context
- if (empty($message->context)) return $line;
-
- // Context
- if (is_array($message->context) || is_object($message->context)) {
- $line .= json_encode($message->context);
- }
+ $content = !empty($message->content) ? "$message->content " : "";
+ $context = isset($message->context) ? json_encode($message->context) : '';
- if (is_string($message->context) || is_numeric($message->context)) {
- $line .= $message->context;
- }
-
- return $line;
+ return trim("[$datetime] $filename.$level: $content$context");
}
/**
@@ -117,35 +93,13 @@ enum Format
$trace_file = $message->trace['file'];
// Date
- $date = $dateTime->format('Y-m-d\TH:i:s.uP');
- $line = "[$date] ";
-
- // File name and level
+ $datetime = $dateTime->format('Y-m-d\TH:i:s.uP');
$filename = pathinfo($trace_file, PATHINFO_FILENAME);
$level = strtoupper($message->level->value);
- $line .= "{$filename}.{$level}: ";
-
- // Message
- if (!empty($message->content) && !empty($message->context)) {
- $line .= "{$message->content} - ";
- }
-
- if (!empty($message->content) && empty($message->context)) {
- $line .= "{$message->content}";
- }
-
- // Context
- if (empty($message->context)) return $line;
+ $content = !empty($message->content) ? "$message->content " : "";
+ $context = isset($message->context) ? json_encode($message->context) : '';
- if (is_array($message->context) || is_object($message->context)) {
- $line .= json_encode($message->context);
- }
-
- if (is_string($message->context) || is_numeric($message->context)) {
- $line .= $message->context;
- }
-
- return $line;
+ return trim("[$datetime] $filename.$level: $content$context");
}
/**
@@ -162,41 +116,12 @@ enum Format
$trace_line = $message->trace['line'];
// Date
- $date = $dateTime->format('Y-m-d H:i:s');
- $line = "{$date} ";
-
- // Line number
- $line .= "[{$trace_line}] ";
-
- // Level
+ $datetime = $dateTime->format('Y-m-d H:i:s');
$level = strtoupper($message->level->value);
- $line .= "{$level} ";
-
- // Filename
$filename = pathinfo($trace_file, PATHINFO_FILENAME);
- $line .= "- {$filename} - ";
-
- // Message
- if (!empty($message->content) && !empty($message->context)) {
- $line .= "{$message->content} - ";
- }
-
- if (!empty($message->content) && empty($message->context)) {
- $line .= "{$message->content}";
- }
-
- // Context
- if (empty($message->context)) return $line;
-
- // Context
- if (is_array($message->context) || is_object($message->context)) {
- $line .= json_encode($message->context);
- }
-
- if (is_string($message->context) || is_numeric($message->context)) {
- $line .= $message->context;
- }
+ $content = !empty($message->content) ? "$message->content " : "";
+ $context = isset($message->context) ? json_encode($message->context) : '';
- return $line;
+ return trim("$datetime [$trace_line] $level - $filename - $content$context");
}
}
diff --git a/tests/FileSystemDriverTest.php b/tests/FileSystemDriverTest.php
index 2c98091..d0eda86 100644
--- a/tests/FileSystemDriverTest.php
+++ b/tests/FileSystemDriverTest.php
@@ -13,87 +13,87 @@ class FileSystemDriverTest extends MockeryTestCase
public function testEmergency(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->emergency('test');
+ $logger = $this->mockLogger($data);
+ $logger->emergency('test');
$full_date = (new DateTime)->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.EMERGENCY: test", $data);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.EMERGENCY: test", $data);
}
public function testAlert(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->alert('test');
+ $logger = $this->mockLogger($data);
+ $logger->alert('test');
$full_date = (new DateTime)->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.ALERT: test", $data);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.ALERT: test", $data);
}
public function testCritical(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->critical('test');
+ $logger = $this->mockLogger($data);
+ $logger->critical('test');
$full_date = (new DateTime)->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.CRITICAL: test", $data);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.CRITICAL: test", $data);
}
public function testError(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->error('test');
+ $logger = $this->mockLogger($data);
+ $logger->error('test');
$full_date = (new DateTime)->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.ERROR: test", $data);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.ERROR: test", $data);
}
public function testWarning(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->warning('test');
+ $logger = $this->mockLogger($data);
+ $logger->warning('test');
$full_date = (new DateTime)->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.WARNING: test", $data);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.WARNING: test", $data);
}
public function testNotice(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->notice('test');
+ $logger = $this->mockLogger($data);
+ $logger->notice('test');
$full_date = (new DateTime)->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.NOTICE: test", $data);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.NOTICE: test", $data);
}
public function testInfo(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->info('test');
+ $logger = $this->mockLogger($data);
+ $logger->info('test');
$full_date = (new DateTime)->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.INFO: test", $data);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.INFO: test", $data);
}
public function testDebug(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->debug('test');
+ $logger = $this->mockLogger($data);
+ $logger->debug('test');
$full_date = (new DateTime)->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.DEBUG: test", $data);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.DEBUG: test", $data);
}
public function testMultipleEntries(): void
{
$data = '';
- $loggr = $this->mockLogger($data);
- $loggr->emergency('test1');
- $loggr->alert('test2');
- $loggr->critical('test3');
- $loggr->error('test4');
- $loggr->warning('test5');
- $loggr->notice('test6');
- $loggr->info('test7');
- $loggr->debug('test8');
+ $logger = $this->mockLogger($data);
+ $logger->emergency('test1');
+ $logger->alert('test2');
+ $logger->critical('test3');
+ $logger->error('test4');
+ $logger->warning('test5');
+ $logger->notice('test6');
+ $logger->info('test7');
+ $logger->debug('test8');
$lines = array_filter(explode("\n", $data), fn($line) => !empty($line));
$this->assertCount(8, $lines);
@@ -101,8 +101,8 @@ class FileSystemDriverTest extends MockeryTestCase
$first_line = $lines[0];
$last_line = $lines[count($lines) - 1];
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.EMERGENCY: test", $first_line);
- $this->assertStringContainsString("[{$full_date}] FileSystemDriverTest.DEBUG: test", $last_line);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.EMERGENCY: test", $first_line);
+ $this->assertStringContainsString("[$full_date] FileSystemDriverTest.DEBUG: test", $last_line);
}
private function mockLogger(string &$result): Loggr
diff --git a/tests/FormatTest.php b/tests/FormatTest.php
index 4d9dde0..4222a81 100644
--- a/tests/FormatTest.php
+++ b/tests/FormatTest.php
@@ -70,7 +70,7 @@ class FormatTest extends MockeryTestCase
$format = Format::IntelliJ;
$serializedMessage = $format->serialize($message);
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $expected = "{$full_date} [1182] INFO - TestCase - test - {\"message\":\"test\"}";
+ $expected = "$full_date [1182] INFO - TestCase - test {\"message\":\"test\"}";
$this->assertEquals($expected, $serializedMessage);
}
@@ -86,7 +86,7 @@ class FormatTest extends MockeryTestCase
$format = Format::IntelliJ;
$serializedMessage = $format->serialize($message);
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $expected = "{$full_date} [1182] INFO - TestCase - hello world";
+ $expected = "$full_date [1182] INFO - TestCase - hello world";
$this->assertEquals($expected, $serializedMessage);
}
@@ -103,7 +103,7 @@ class FormatTest extends MockeryTestCase
$format = Format::IntelliJ;
$serializedMessage = $format->serialize($message);
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $expected = "{$full_date} [1182] INFO - TestCase - hello world - hello world";
+ $expected = "$full_date [1182] INFO - TestCase - hello world \"hello world\"";
$this->assertEquals($expected, $serializedMessage);
}
@@ -120,7 +120,7 @@ class FormatTest extends MockeryTestCase
$format = Format::IntelliJ;
$serializedMessage = $format->serialize($message);
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $expected = "{$full_date} [1182] INFO - TestCase - hello world - 123456789";
+ $expected = "$full_date [1182] INFO - TestCase - hello world 123456789";
$this->assertEquals($expected, $serializedMessage);
}
@@ -137,7 +137,7 @@ class FormatTest extends MockeryTestCase
$format = Format::Laravel;
$serializedMessage = $format->serialize($message);
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $expected = "[{$full_date}] TestCase.INFO: test - {\"message\":\"test\"}";
+ $expected = "[$full_date] TestCase.INFO: test {\"message\":\"test\"}";
$this->assertEquals($expected, $serializedMessage);
}
@@ -153,7 +153,7 @@ class FormatTest extends MockeryTestCase
$format = Format::Laravel;
$serializedMessage = $format->serialize($message);
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $expected = "[{$full_date}] TestCase.INFO: hello world";
+ $expected = "[$full_date] TestCase.INFO: hello world";
$this->assertEquals($expected, $serializedMessage);
}
@@ -170,7 +170,7 @@ class FormatTest extends MockeryTestCase
$format = Format::Laravel;
$serializedMessage = $format->serialize($message);
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $expected = "[{$full_date}] TestCase.INFO: hello world - hello world";
+ $expected = "[$full_date] TestCase.INFO: hello world \"hello world\"";
$this->assertEquals($expected, $serializedMessage);
}
@@ -187,7 +187,7 @@ class FormatTest extends MockeryTestCase
$format = Format::Laravel;
$serializedMessage = $format->serialize($message);
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $expected = "[{$full_date}] TestCase.INFO: hello world - 123456789";
+ $expected = "[$full_date] TestCase.INFO: hello world 123456789";
$this->assertEquals($expected, $serializedMessage);
}
@@ -226,7 +226,7 @@ class FormatTest extends MockeryTestCase
$format = Format::Symfony;
$serializedMessage = $format->serialize($message, $mock_datetime);
$full_date = $mock_datetime->format('Y-m-d\TH:i:s.uP');
- $expected = "[$full_date] TestCase.INFO: hello world - hello world";
+ $expected = "[$full_date] TestCase.INFO: hello world \"hello world\"";
$this->assertEquals($expected, $serializedMessage);
}
@@ -245,7 +245,7 @@ class FormatTest extends MockeryTestCase
$format = Format::Symfony;
$serializedMessage = $format->serialize($message, $mock_datetime);
$full_date = $mock_datetime->format('Y-m-d\TH:i:s.uP');
- $expected = "[$full_date] TestCase.INFO: ";
+ $expected = "[$full_date] TestCase.INFO: []";
$this->assertEquals($expected, $serializedMessage);
}
@@ -263,7 +263,7 @@ class FormatTest extends MockeryTestCase
$format = Format::Symfony;
$serializedMessage = $format->serialize($message, $mock_datetime);
$full_date = $mock_datetime->format('Y-m-d\TH:i:s.uP');
- $expected = "[$full_date] TestCase.INFO: ";
+ $expected = "[$full_date] TestCase.INFO:";
$this->assertEquals($expected, $serializedMessage);
}
diff --git a/tests/LoggrTest.php b/tests/LoggrTest.php
index e217cf4..29cdce2 100644
--- a/tests/LoggrTest.php
+++ b/tests/LoggrTest.php
@@ -11,72 +11,72 @@ class LoggrTest extends TestCase
{
public function testNoDriver(): void
{
- $loggr = new Loggr();
- $loggr->info('test');
- $this->assertEquals("Driver or format not set.", $loggr->error);
+ $logger = new Loggr();
+ $logger->info('test');
+ $this->assertEquals("Driver or format not set.", $logger->error);
}
public function testNoFormat(): void
{
- $loggr = new Loggr(new OutputDriver());
- $loggr->format = null;
- $loggr->info('test');
- $this->assertEquals("Driver or format not set.", $loggr->error);
+ $logger = new Loggr(new OutputDriver());
+ $logger->format = null;
+ $logger->info('test');
+ $this->assertEquals("Driver or format not set.", $logger->error);
}
public function testInterpolation(): void
{
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$full_date}] LoggrTest.INFO: test something - {\"interpolation\":\"something\"}");
- $loggr = new Loggr(new OutputDriver());
- $loggr->info('test {interpolation}', ['interpolation' => 'something']);
+ $this->expectOutputString("[$full_date] LoggrTest.INFO: test something {\"interpolation\":\"something\"}");
+ $logger = new Loggr(new OutputDriver());
+ $logger->info('test {interpolation}', ['interpolation' => 'something']);
}
public function testNestedInterpolation(): void
{
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$full_date}] LoggrTest.INFO: test something - {\"nested\":{\"interpolation\":\"something\"}}");
- $loggr = new Loggr(new OutputDriver());
- $loggr->info('test {nested.interpolation}', ['nested' => ['interpolation' => 'something']]);
+ $this->expectOutputString("[$full_date] LoggrTest.INFO: test something {\"nested\":{\"interpolation\":\"something\"}}");
+ $logger = new Loggr(new OutputDriver());
+ $logger->info('test {nested.interpolation}', ['nested' => ['interpolation' => 'something']]);
}
public function testIntegerInterpolation(): void
{
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$full_date}] LoggrTest.INFO: test 1234567890 - {\"integer\":1234567890}");
- $loggr = new Loggr(new OutputDriver());
- $loggr->info('test {integer}', ['integer' => 1234567890]);
+ $this->expectOutputString("[$full_date] LoggrTest.INFO: test 1234567890 {\"integer\":1234567890}");
+ $logger = new Loggr(new OutputDriver());
+ $logger->info('test {integer}', ['integer' => 1234567890]);
}
public function testBooleanInterpolation(): void
{
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$full_date}] LoggrTest.INFO: test 1 - {\"boolean\":true}");
- $loggr = new Loggr(new OutputDriver());
- $loggr->info('test {boolean}', ['boolean' => true]);
+ $this->expectOutputString("[$full_date] LoggrTest.INFO: test 1 {\"boolean\":true}");
+ $logger = new Loggr(new OutputDriver());
+ $logger->info('test {boolean}', ['boolean' => true]);
}
public function testDoubleInterpolation(): void
{
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$full_date}] LoggrTest.INFO: test 1234567890.1235 - {\"double\":1234567890.1234567}");
- $loggr = new Loggr(new OutputDriver());
- $loggr->info('test {double}', ['double' => 1234567890.1234567]);
+ $this->expectOutputString("[$full_date] LoggrTest.INFO: test 1234567890.1235 {\"double\":1234567890.1234567}");
+ $logger = new Loggr(new OutputDriver());
+ $logger->info('test {double}', ['double' => 1234567890.1234567]);
}
public function testNullInterpolation(): void
{
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$full_date}] LoggrTest.INFO: test null - {\"null\":null}");
- $loggr = new Loggr(new OutputDriver());
- $loggr->info('test {null}', ['null' => null]);
+ $this->expectOutputString("[$full_date] LoggrTest.INFO: test null {\"null\":null}");
+ $logger = new Loggr(new OutputDriver());
+ $logger->info('test {null}', ['null' => null]);
}
public function testObjectInterpolation(): void
{
$full_date = (new DateTime())->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$full_date}] LoggrTest.INFO: test test - {\"object\":{\"test\":\"test\"}}");
- $loggr = new Loggr(new OutputDriver());
- $loggr->info('test {object.test}', ['object' => (object) ['test' => 'test']]);
+ $this->expectOutputString("[$full_date] LoggrTest.INFO: test test {\"object\":{\"test\":\"test\"}}");
+ $logger = new Loggr(new OutputDriver());
+ $logger->info('test {object.test}', ['object' => (object) ['test' => 'test']]);
}
} \ No newline at end of file
diff --git a/tests/OutputDriverTest.php b/tests/OutputDriverTest.php
index 3fa5ae2..7115fec 100644
--- a/tests/OutputDriverTest.php
+++ b/tests/OutputDriverTest.php
@@ -12,72 +12,72 @@ class OutputDriverTest extends TestCase
public function testEmergency(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.EMERGENCY: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->emergency('test');
+ $this->expectOutputString("[$date] OutputDriverTest.EMERGENCY: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->emergency('test');
}
public function testAlert(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.ALERT: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->alert('test');
+ $this->expectOutputString("[$date] OutputDriverTest.ALERT: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->alert('test');
}
public function testCritical(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.CRITICAL: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->critical('test');
+ $this->expectOutputString("[$date] OutputDriverTest.CRITICAL: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->critical('test');
}
public function testError(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.ERROR: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->error('test');
+ $this->expectOutputString("[$date] OutputDriverTest.ERROR: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->error('test');
}
public function testWarning(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.WARNING: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->warning('test');
+ $this->expectOutputString("[$date] OutputDriverTest.WARNING: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->warning('test');
}
public function testNotice(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.NOTICE: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->notice('test');
+ $this->expectOutputString("[$date] OutputDriverTest.NOTICE: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->notice('test');
}
public function testInfo(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.INFO: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->info('test');
+ $this->expectOutputString("[$date] OutputDriverTest.INFO: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->info('test');
}
public function testDebug(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.DEBUG: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->debug('test');
+ $this->expectOutputString("[$date] OutputDriverTest.DEBUG: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->debug('test');
}
public function testLog(): void
{
$date = (new DateTime)->format('Y-m-d H:i:s');
- $this->expectOutputString("[{$date}] OutputDriverTest.DEBUG: test");
- $loggr = new Loggr(new OutputDriver());
- $loggr->log('debug', 'test');
+ $this->expectOutputString("[$date] OutputDriverTest.DEBUG: test");
+ $logger = new Loggr(new OutputDriver());
+ $logger->log('debug', 'test');
}
} \ No newline at end of file