summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsko Nõmm <asko@nth.ee>2024-11-11 19:29:00 +0200
committerAsko Nõmm <asko@nth.ee>2024-11-11 19:29:00 +0200
commitef5f3d309e4d7e509b9d0d6368cc81813b27e63f (patch)
tree9410b87352082d4b06519d14296aa8dc54ae829e
parent1da334065354208f969026fb6be15c0f4294ddb8 (diff)
Improve tests.
-rw-r--r--src/Loggr.php14
-rw-r--r--tests/FormatTest.php51
2 files changed, 60 insertions, 5 deletions
diff --git a/src/Loggr.php b/src/Loggr.php
index 6727bb1..a8af9e5 100644
--- a/src/Loggr.php
+++ b/src/Loggr.php
@@ -43,11 +43,15 @@ class Loggr
return;
}
- $this->driver->log($this->format->serialize(new Message(
- level: $level,
- trace: $this->trace,
- context: $context,
- )));
+ try {
+ $this->driver->log($this->format->serialize(new Message(
+ level: $level,
+ trace: $this->trace,
+ context: $context,
+ )));
+ } catch(\Throwable $e) {
+ $this->error = $e->getMessage();
+ }
}
/**
diff --git a/tests/FormatTest.php b/tests/FormatTest.php
index 2c9679d..f000631 100644
--- a/tests/FormatTest.php
+++ b/tests/FormatTest.php
@@ -43,6 +43,22 @@ class FormatTest extends MockeryTestCase
$this->assertEquals($expected, $serializedMessage);
}
+ public function testIntelliJStr(): void
+ {
+ $message = new Message(
+ level: Level::Info,
+ trace: debug_backtrace()[0],
+ context: "hello world",
+ );
+
+ $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";
+
+ $this->assertEquals($expected, $serializedMessage);
+ }
+
public function testLaravel(): void
{
$message = new Message(
@@ -59,6 +75,22 @@ class FormatTest extends MockeryTestCase
$this->assertEquals($expected, $serializedMessage);
}
+ public function testLaravelStr(): void
+ {
+ $message = new Message(
+ level: Level::Info,
+ trace: debug_backtrace()[0],
+ context: "hello world",
+ );
+
+ $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";
+
+ $this->assertEquals($expected, $serializedMessage);
+ }
+
public function testSymfony(): void
{
$mock_datetime = Mockery::mock('DateTime');
@@ -77,4 +109,23 @@ class FormatTest extends MockeryTestCase
$this->assertEquals($expected, $serializedMessage);
}
+
+ public function testSymfonyStr(): void
+ {
+ $mock_datetime = Mockery::mock('DateTime');
+ $mock_datetime->shouldReceive('format')->andReturn('2020-01-01T00:00:00.000000P');
+
+ $message = new Message(
+ level: Level::Info,
+ trace: debug_backtrace()[0],
+ context: "hello world",
+ );
+
+ $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";
+
+ $this->assertEquals($expected, $serializedMessage);
+ }
} \ No newline at end of file