smart_message 0.0.13 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +120 -0
- data/Gemfile.lock +3 -3
- data/README.md +71 -25
- data/docs/index.md +2 -0
- data/docs/reference/transports.md +46 -21
- data/docs/transports/memory-transport.md +2 -1
- data/docs/transports/multi-transport.md +484 -0
- data/examples/file/00_run_all_file_demos.rb +260 -0
- data/examples/file/01_basic_file_transport_demo.rb +237 -0
- data/examples/file/02_fifo_transport_demo.rb +289 -0
- data/examples/file/03_file_watching_demo.rb +332 -0
- data/examples/file/04_multi_transport_file_demo.rb +432 -0
- data/examples/file/README.md +257 -0
- data/examples/memory/00_run_all_demos.rb +317 -0
- data/examples/memory/01_message_deduplication_demo.rb +18 -30
- data/examples/memory/02_dead_letter_queue_demo.rb +9 -9
- data/examples/memory/03_point_to_point_orders.rb +3 -3
- data/examples/memory/04_publish_subscribe_events.rb +15 -15
- data/examples/memory/05_many_to_many_chat.rb +19 -19
- data/examples/memory/06_stdout_publish_only.rb +145 -0
- data/examples/memory/07_proc_handlers_demo.rb +13 -13
- data/examples/memory/08_custom_logger_demo.rb +136 -136
- data/examples/memory/09_error_handling_demo.rb +7 -7
- data/examples/memory/10_entity_addressing_basic.rb +25 -25
- data/examples/memory/11_entity_addressing_with_filtering.rb +32 -32
- data/examples/memory/12_regex_filtering_microservices.rb +10 -10
- data/examples/memory/14_global_configuration_demo.rb +12 -12
- data/examples/memory/README.md +34 -17
- data/examples/memory/log/demo_app.log.1 +100 -0
- data/examples/memory/log/demo_app.log.2 +100 -0
- data/examples/multi_transport_example.rb +114 -0
- data/examples/redis/01_smart_home_iot_demo.rb +20 -20
- data/examples/utilities/box_it.rb +12 -0
- data/examples/utilities/doing.rb +19 -0
- data/examples/utilities/temp.md +28 -0
- data/lib/smart_message/base.rb +5 -7
- data/lib/smart_message/errors.rb +3 -0
- data/lib/smart_message/header.rb +1 -1
- data/lib/smart_message/logger/default.rb +1 -1
- data/lib/smart_message/messaging.rb +36 -6
- data/lib/smart_message/plugins.rb +46 -4
- data/lib/smart_message/serializer/base.rb +1 -1
- data/lib/smart_message/serializer.rb +3 -2
- data/lib/smart_message/subscription.rb +18 -20
- data/lib/smart_message/transport/async_publish_queue.rb +284 -0
- data/lib/smart_message/transport/fifo_operations.rb +264 -0
- data/lib/smart_message/transport/file_operations.rb +200 -0
- data/lib/smart_message/transport/file_transport.rb +149 -0
- data/lib/smart_message/transport/file_watching.rb +72 -0
- data/lib/smart_message/transport/partitioned_files.rb +46 -0
- data/lib/smart_message/transport/stdout_transport.rb +50 -36
- data/lib/smart_message/transport/stdout_transport.rb.backup +88 -0
- data/lib/smart_message/version.rb +1 -1
- metadata +24 -10
- data/ideas/README.md +0 -41
- data/ideas/agents.md +0 -1001
- data/ideas/database_transport.md +0 -980
- data/ideas/improvement.md +0 -359
- data/ideas/meshage.md +0 -1788
- data/ideas/message_discovery.md +0 -178
- data/ideas/message_schema.md +0 -1381
- data/lib/smart_message/wrapper.rb.bak +0 -132
- /data/examples/memory/{06_pretty_print_demo.rb → 16_pretty_print_demo.rb} +0 -0
@@ -0,0 +1,100 @@
|
|
1
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 1 - generating content to trigger file rolling when size limit is reached [message:Log entry 1 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
2
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 1 [entry_number:1] [batch:demo] [message:Debug entry 1] [source:15_logger_demo.rb:93]
|
3
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 2 - generating content to trigger file rolling when size limit is reached [message:Log entry 2 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
4
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 2 [entry_number:2] [batch:demo] [message:Debug entry 2] [source:15_logger_demo.rb:93]
|
5
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 3 - generating content to trigger file rolling when size limit is reached [message:Log entry 3 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
6
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 3 [entry_number:3] [batch:demo] [message:Debug entry 3] [source:15_logger_demo.rb:93]
|
7
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 4 - generating content to trigger file rolling when size limit is reached [message:Log entry 4 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
8
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 4 [entry_number:4] [batch:demo] [message:Debug entry 4] [source:15_logger_demo.rb:93]
|
9
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 5 - generating content to trigger file rolling when size limit is reached [message:Log entry 5 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
10
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 5 [entry_number:5] [batch:demo] [message:Debug entry 5] [source:15_logger_demo.rb:93]
|
11
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 6 - generating content to trigger file rolling when size limit is reached [message:Log entry 6 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
12
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 6 [entry_number:6] [batch:demo] [message:Debug entry 6] [source:15_logger_demo.rb:93]
|
13
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 7 - generating content to trigger file rolling when size limit is reached [message:Log entry 7 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
14
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 7 [entry_number:7] [batch:demo] [message:Debug entry 7] [source:15_logger_demo.rb:93]
|
15
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 8 - generating content to trigger file rolling when size limit is reached [message:Log entry 8 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
16
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 8 [entry_number:8] [batch:demo] [message:Debug entry 8] [source:15_logger_demo.rb:93]
|
17
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 9 - generating content to trigger file rolling when size limit is reached [message:Log entry 9 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
18
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 9 [entry_number:9] [batch:demo] [message:Debug entry 9] [source:15_logger_demo.rb:93]
|
19
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 10 - generating content to trigger file rolling when size limit is reached [message:Log entry 10 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
20
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 10 [entry_number:10] [batch:demo] [message:Debug entry 10] [source:15_logger_demo.rb:93]
|
21
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 11 - generating content to trigger file rolling when size limit is reached [message:Log entry 11 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
22
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 11 [entry_number:11] [batch:demo] [message:Debug entry 11] [source:15_logger_demo.rb:93]
|
23
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 12 - generating content to trigger file rolling when size limit is reached [message:Log entry 12 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
24
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 12 [entry_number:12] [batch:demo] [message:Debug entry 12] [source:15_logger_demo.rb:93]
|
25
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 13 - generating content to trigger file rolling when size limit is reached [message:Log entry 13 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
26
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 13 [entry_number:13] [batch:demo] [message:Debug entry 13] [source:15_logger_demo.rb:93]
|
27
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 14 - generating content to trigger file rolling when size limit is reached [message:Log entry 14 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
28
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 14 [entry_number:14] [batch:demo] [message:Debug entry 14] [source:15_logger_demo.rb:93]
|
29
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 15 - generating content to trigger file rolling when size limit is reached [message:Log entry 15 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
30
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 15 [entry_number:15] [batch:demo] [message:Debug entry 15] [source:15_logger_demo.rb:93]
|
31
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 16 - generating content to trigger file rolling when size limit is reached [message:Log entry 16 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
32
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 16 [entry_number:16] [batch:demo] [message:Debug entry 16] [source:15_logger_demo.rb:93]
|
33
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 17 - generating content to trigger file rolling when size limit is reached [message:Log entry 17 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
34
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 17 [entry_number:17] [batch:demo] [message:Debug entry 17] [source:15_logger_demo.rb:93]
|
35
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 18 - generating content to trigger file rolling when size limit is reached [message:Log entry 18 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
36
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 18 [entry_number:18] [batch:demo] [message:Debug entry 18] [source:15_logger_demo.rb:93]
|
37
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 19 - generating content to trigger file rolling when size limit is reached [message:Log entry 19 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
38
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 19 [entry_number:19] [batch:demo] [message:Debug entry 19] [source:15_logger_demo.rb:93]
|
39
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 20 - generating content to trigger file rolling when size limit is reached [message:Log entry 20 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
40
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 20 [entry_number:20] [batch:demo] [message:Debug entry 20] [source:15_logger_demo.rb:93]
|
41
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 21 - generating content to trigger file rolling when size limit is reached [message:Log entry 21 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
42
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 21 [entry_number:21] [batch:demo] [message:Debug entry 21] [source:15_logger_demo.rb:93]
|
43
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 22 - generating content to trigger file rolling when size limit is reached [message:Log entry 22 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
44
|
+
[2025-09-10T09:53:01.164 DEBUG (19258) #] Debug entry 22 [entry_number:22] [batch:demo] [message:Debug entry 22] [source:15_logger_demo.rb:93]
|
45
|
+
[2025-09-10T09:53:01.164 INFO (19258) #] Log entry 23 - generating content to trigger file rolling when size limit is reached [message:Log entry 23 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
46
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 23 [entry_number:23] [batch:demo] [message:Debug entry 23] [source:15_logger_demo.rb:93]
|
47
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 24 - generating content to trigger file rolling when size limit is reached [message:Log entry 24 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
48
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 24 [entry_number:24] [batch:demo] [message:Debug entry 24] [source:15_logger_demo.rb:93]
|
49
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 25 - generating content to trigger file rolling when size limit is reached [message:Log entry 25 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
50
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 25 [entry_number:25] [batch:demo] [message:Debug entry 25] [source:15_logger_demo.rb:93]
|
51
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 26 - generating content to trigger file rolling when size limit is reached [message:Log entry 26 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
52
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 26 [entry_number:26] [batch:demo] [message:Debug entry 26] [source:15_logger_demo.rb:93]
|
53
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 27 - generating content to trigger file rolling when size limit is reached [message:Log entry 27 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
54
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 27 [entry_number:27] [batch:demo] [message:Debug entry 27] [source:15_logger_demo.rb:93]
|
55
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 28 - generating content to trigger file rolling when size limit is reached [message:Log entry 28 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
56
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 28 [entry_number:28] [batch:demo] [message:Debug entry 28] [source:15_logger_demo.rb:93]
|
57
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 29 - generating content to trigger file rolling when size limit is reached [message:Log entry 29 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
58
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 29 [entry_number:29] [batch:demo] [message:Debug entry 29] [source:15_logger_demo.rb:93]
|
59
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 30 - generating content to trigger file rolling when size limit is reached [message:Log entry 30 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
60
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 30 [entry_number:30] [batch:demo] [message:Debug entry 30] [source:15_logger_demo.rb:93]
|
61
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 31 - generating content to trigger file rolling when size limit is reached [message:Log entry 31 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
62
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 31 [entry_number:31] [batch:demo] [message:Debug entry 31] [source:15_logger_demo.rb:93]
|
63
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 32 - generating content to trigger file rolling when size limit is reached [message:Log entry 32 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
64
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 32 [entry_number:32] [batch:demo] [message:Debug entry 32] [source:15_logger_demo.rb:93]
|
65
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 33 - generating content to trigger file rolling when size limit is reached [message:Log entry 33 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
66
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 33 [entry_number:33] [batch:demo] [message:Debug entry 33] [source:15_logger_demo.rb:93]
|
67
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 34 - generating content to trigger file rolling when size limit is reached [message:Log entry 34 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
68
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 34 [entry_number:34] [batch:demo] [message:Debug entry 34] [source:15_logger_demo.rb:93]
|
69
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 35 - generating content to trigger file rolling when size limit is reached [message:Log entry 35 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
70
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 35 [entry_number:35] [batch:demo] [message:Debug entry 35] [source:15_logger_demo.rb:93]
|
71
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 36 - generating content to trigger file rolling when size limit is reached [message:Log entry 36 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
72
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 36 [entry_number:36] [batch:demo] [message:Debug entry 36] [source:15_logger_demo.rb:93]
|
73
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 37 - generating content to trigger file rolling when size limit is reached [message:Log entry 37 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
74
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 37 [entry_number:37] [batch:demo] [message:Debug entry 37] [source:15_logger_demo.rb:93]
|
75
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 38 - generating content to trigger file rolling when size limit is reached [message:Log entry 38 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
76
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 38 [entry_number:38] [batch:demo] [message:Debug entry 38] [source:15_logger_demo.rb:93]
|
77
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 39 - generating content to trigger file rolling when size limit is reached [message:Log entry 39 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
78
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 39 [entry_number:39] [batch:demo] [message:Debug entry 39] [source:15_logger_demo.rb:93]
|
79
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 40 - generating content to trigger file rolling when size limit is reached [message:Log entry 40 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
80
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 40 [entry_number:40] [batch:demo] [message:Debug entry 40] [source:15_logger_demo.rb:93]
|
81
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 41 - generating content to trigger file rolling when size limit is reached [message:Log entry 41 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
82
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 41 [entry_number:41] [batch:demo] [message:Debug entry 41] [source:15_logger_demo.rb:93]
|
83
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 42 - generating content to trigger file rolling when size limit is reached [message:Log entry 42 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
84
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 42 [entry_number:42] [batch:demo] [message:Debug entry 42] [source:15_logger_demo.rb:93]
|
85
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 43 - generating content to trigger file rolling when size limit is reached [message:Log entry 43 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
86
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 43 [entry_number:43] [batch:demo] [message:Debug entry 43] [source:15_logger_demo.rb:93]
|
87
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 44 - generating content to trigger file rolling when size limit is reached [message:Log entry 44 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
88
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 44 [entry_number:44] [batch:demo] [message:Debug entry 44] [source:15_logger_demo.rb:93]
|
89
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 45 - generating content to trigger file rolling when size limit is reached [message:Log entry 45 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
90
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 45 [entry_number:45] [batch:demo] [message:Debug entry 45] [source:15_logger_demo.rb:93]
|
91
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 46 - generating content to trigger file rolling when size limit is reached [message:Log entry 46 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
92
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 46 [entry_number:46] [batch:demo] [message:Debug entry 46] [source:15_logger_demo.rb:93]
|
93
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 47 - generating content to trigger file rolling when size limit is reached [message:Log entry 47 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
94
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 47 [entry_number:47] [batch:demo] [message:Debug entry 47] [source:15_logger_demo.rb:93]
|
95
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 48 - generating content to trigger file rolling when size limit is reached [message:Log entry 48 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
96
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 48 [entry_number:48] [batch:demo] [message:Debug entry 48] [source:15_logger_demo.rb:93]
|
97
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 49 - generating content to trigger file rolling when size limit is reached [message:Log entry 49 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
98
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 49 [entry_number:49] [batch:demo] [message:Debug entry 49] [source:15_logger_demo.rb:93]
|
99
|
+
[2025-09-10T09:53:01.165 INFO (19258) #] Log entry 50 - generating content to trigger file rolling when size limit is reached [message:Log entry 50 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
100
|
+
[2025-09-10T09:53:01.165 DEBUG (19258) #] Debug entry 50 [entry_number:50] [batch:demo] [message:Debug entry 50] [source:15_logger_demo.rb:93]
|
@@ -0,0 +1,100 @@
|
|
1
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 1 - generating content to trigger file rolling when size limit is reached [message:Log entry 1 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
2
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 1 [entry_number:1] [batch:demo] [message:Debug entry 1] [source:15_logger_demo.rb:93]
|
3
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 2 - generating content to trigger file rolling when size limit is reached [message:Log entry 2 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
4
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 2 [entry_number:2] [batch:demo] [message:Debug entry 2] [source:15_logger_demo.rb:93]
|
5
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 3 - generating content to trigger file rolling when size limit is reached [message:Log entry 3 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
6
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 3 [entry_number:3] [batch:demo] [message:Debug entry 3] [source:15_logger_demo.rb:93]
|
7
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 4 - generating content to trigger file rolling when size limit is reached [message:Log entry 4 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
8
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 4 [entry_number:4] [batch:demo] [message:Debug entry 4] [source:15_logger_demo.rb:93]
|
9
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 5 - generating content to trigger file rolling when size limit is reached [message:Log entry 5 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
10
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 5 [entry_number:5] [batch:demo] [message:Debug entry 5] [source:15_logger_demo.rb:93]
|
11
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 6 - generating content to trigger file rolling when size limit is reached [message:Log entry 6 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
12
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 6 [entry_number:6] [batch:demo] [message:Debug entry 6] [source:15_logger_demo.rb:93]
|
13
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 7 - generating content to trigger file rolling when size limit is reached [message:Log entry 7 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
14
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 7 [entry_number:7] [batch:demo] [message:Debug entry 7] [source:15_logger_demo.rb:93]
|
15
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 8 - generating content to trigger file rolling when size limit is reached [message:Log entry 8 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
16
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 8 [entry_number:8] [batch:demo] [message:Debug entry 8] [source:15_logger_demo.rb:93]
|
17
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 9 - generating content to trigger file rolling when size limit is reached [message:Log entry 9 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
18
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 9 [entry_number:9] [batch:demo] [message:Debug entry 9] [source:15_logger_demo.rb:93]
|
19
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 10 - generating content to trigger file rolling when size limit is reached [message:Log entry 10 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
20
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 10 [entry_number:10] [batch:demo] [message:Debug entry 10] [source:15_logger_demo.rb:93]
|
21
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 11 - generating content to trigger file rolling when size limit is reached [message:Log entry 11 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
22
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 11 [entry_number:11] [batch:demo] [message:Debug entry 11] [source:15_logger_demo.rb:93]
|
23
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 12 - generating content to trigger file rolling when size limit is reached [message:Log entry 12 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
24
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 12 [entry_number:12] [batch:demo] [message:Debug entry 12] [source:15_logger_demo.rb:93]
|
25
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 13 - generating content to trigger file rolling when size limit is reached [message:Log entry 13 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
26
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 13 [entry_number:13] [batch:demo] [message:Debug entry 13] [source:15_logger_demo.rb:93]
|
27
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 14 - generating content to trigger file rolling when size limit is reached [message:Log entry 14 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
28
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 14 [entry_number:14] [batch:demo] [message:Debug entry 14] [source:15_logger_demo.rb:93]
|
29
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 15 - generating content to trigger file rolling when size limit is reached [message:Log entry 15 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
30
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 15 [entry_number:15] [batch:demo] [message:Debug entry 15] [source:15_logger_demo.rb:93]
|
31
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 16 - generating content to trigger file rolling when size limit is reached [message:Log entry 16 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
32
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 16 [entry_number:16] [batch:demo] [message:Debug entry 16] [source:15_logger_demo.rb:93]
|
33
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 17 - generating content to trigger file rolling when size limit is reached [message:Log entry 17 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
34
|
+
[2025-09-10T10:00:46.601 DEBUG (22295) #] Debug entry 17 [entry_number:17] [batch:demo] [message:Debug entry 17] [source:15_logger_demo.rb:93]
|
35
|
+
[2025-09-10T10:00:46.601 INFO (22295) #] Log entry 18 - generating content to trigger file rolling when size limit is reached [message:Log entry 18 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
36
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 18 [entry_number:18] [batch:demo] [message:Debug entry 18] [source:15_logger_demo.rb:93]
|
37
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 19 - generating content to trigger file rolling when size limit is reached [message:Log entry 19 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
38
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 19 [entry_number:19] [batch:demo] [message:Debug entry 19] [source:15_logger_demo.rb:93]
|
39
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 20 - generating content to trigger file rolling when size limit is reached [message:Log entry 20 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
40
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 20 [entry_number:20] [batch:demo] [message:Debug entry 20] [source:15_logger_demo.rb:93]
|
41
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 21 - generating content to trigger file rolling when size limit is reached [message:Log entry 21 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
42
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 21 [entry_number:21] [batch:demo] [message:Debug entry 21] [source:15_logger_demo.rb:93]
|
43
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 22 - generating content to trigger file rolling when size limit is reached [message:Log entry 22 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
44
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 22 [entry_number:22] [batch:demo] [message:Debug entry 22] [source:15_logger_demo.rb:93]
|
45
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 23 - generating content to trigger file rolling when size limit is reached [message:Log entry 23 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
46
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 23 [entry_number:23] [batch:demo] [message:Debug entry 23] [source:15_logger_demo.rb:93]
|
47
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 24 - generating content to trigger file rolling when size limit is reached [message:Log entry 24 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
48
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 24 [entry_number:24] [batch:demo] [message:Debug entry 24] [source:15_logger_demo.rb:93]
|
49
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 25 - generating content to trigger file rolling when size limit is reached [message:Log entry 25 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
50
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 25 [entry_number:25] [batch:demo] [message:Debug entry 25] [source:15_logger_demo.rb:93]
|
51
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 26 - generating content to trigger file rolling when size limit is reached [message:Log entry 26 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
52
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 26 [entry_number:26] [batch:demo] [message:Debug entry 26] [source:15_logger_demo.rb:93]
|
53
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 27 - generating content to trigger file rolling when size limit is reached [message:Log entry 27 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
54
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 27 [entry_number:27] [batch:demo] [message:Debug entry 27] [source:15_logger_demo.rb:93]
|
55
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 28 - generating content to trigger file rolling when size limit is reached [message:Log entry 28 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
56
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 28 [entry_number:28] [batch:demo] [message:Debug entry 28] [source:15_logger_demo.rb:93]
|
57
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 29 - generating content to trigger file rolling when size limit is reached [message:Log entry 29 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
58
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 29 [entry_number:29] [batch:demo] [message:Debug entry 29] [source:15_logger_demo.rb:93]
|
59
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 30 - generating content to trigger file rolling when size limit is reached [message:Log entry 30 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
60
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 30 [entry_number:30] [batch:demo] [message:Debug entry 30] [source:15_logger_demo.rb:93]
|
61
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 31 - generating content to trigger file rolling when size limit is reached [message:Log entry 31 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
62
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 31 [entry_number:31] [batch:demo] [message:Debug entry 31] [source:15_logger_demo.rb:93]
|
63
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 32 - generating content to trigger file rolling when size limit is reached [message:Log entry 32 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
64
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 32 [entry_number:32] [batch:demo] [message:Debug entry 32] [source:15_logger_demo.rb:93]
|
65
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 33 - generating content to trigger file rolling when size limit is reached [message:Log entry 33 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
66
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 33 [entry_number:33] [batch:demo] [message:Debug entry 33] [source:15_logger_demo.rb:93]
|
67
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 34 - generating content to trigger file rolling when size limit is reached [message:Log entry 34 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
68
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 34 [entry_number:34] [batch:demo] [message:Debug entry 34] [source:15_logger_demo.rb:93]
|
69
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 35 - generating content to trigger file rolling when size limit is reached [message:Log entry 35 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
70
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 35 [entry_number:35] [batch:demo] [message:Debug entry 35] [source:15_logger_demo.rb:93]
|
71
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 36 - generating content to trigger file rolling when size limit is reached [message:Log entry 36 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
72
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 36 [entry_number:36] [batch:demo] [message:Debug entry 36] [source:15_logger_demo.rb:93]
|
73
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 37 - generating content to trigger file rolling when size limit is reached [message:Log entry 37 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
74
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 37 [entry_number:37] [batch:demo] [message:Debug entry 37] [source:15_logger_demo.rb:93]
|
75
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 38 - generating content to trigger file rolling when size limit is reached [message:Log entry 38 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
76
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 38 [entry_number:38] [batch:demo] [message:Debug entry 38] [source:15_logger_demo.rb:93]
|
77
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 39 - generating content to trigger file rolling when size limit is reached [message:Log entry 39 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
78
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 39 [entry_number:39] [batch:demo] [message:Debug entry 39] [source:15_logger_demo.rb:93]
|
79
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 40 - generating content to trigger file rolling when size limit is reached [message:Log entry 40 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
80
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 40 [entry_number:40] [batch:demo] [message:Debug entry 40] [source:15_logger_demo.rb:93]
|
81
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 41 - generating content to trigger file rolling when size limit is reached [message:Log entry 41 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
82
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 41 [entry_number:41] [batch:demo] [message:Debug entry 41] [source:15_logger_demo.rb:93]
|
83
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 42 - generating content to trigger file rolling when size limit is reached [message:Log entry 42 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
84
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 42 [entry_number:42] [batch:demo] [message:Debug entry 42] [source:15_logger_demo.rb:93]
|
85
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 43 - generating content to trigger file rolling when size limit is reached [message:Log entry 43 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
86
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 43 [entry_number:43] [batch:demo] [message:Debug entry 43] [source:15_logger_demo.rb:93]
|
87
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 44 - generating content to trigger file rolling when size limit is reached [message:Log entry 44 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
88
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 44 [entry_number:44] [batch:demo] [message:Debug entry 44] [source:15_logger_demo.rb:93]
|
89
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 45 - generating content to trigger file rolling when size limit is reached [message:Log entry 45 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
90
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 45 [entry_number:45] [batch:demo] [message:Debug entry 45] [source:15_logger_demo.rb:93]
|
91
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 46 - generating content to trigger file rolling when size limit is reached [message:Log entry 46 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
92
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 46 [entry_number:46] [batch:demo] [message:Debug entry 46] [source:15_logger_demo.rb:93]
|
93
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 47 - generating content to trigger file rolling when size limit is reached [message:Log entry 47 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
94
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 47 [entry_number:47] [batch:demo] [message:Debug entry 47] [source:15_logger_demo.rb:93]
|
95
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 48 - generating content to trigger file rolling when size limit is reached [message:Log entry 48 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
96
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 48 [entry_number:48] [batch:demo] [message:Debug entry 48] [source:15_logger_demo.rb:93]
|
97
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 49 - generating content to trigger file rolling when size limit is reached [message:Log entry 49 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
98
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 49 [entry_number:49] [batch:demo] [message:Debug entry 49] [source:15_logger_demo.rb:93]
|
99
|
+
[2025-09-10T10:00:46.602 INFO (22295) #] Log entry 50 - generating content to trigger file rolling when size limit is reached [message:Log entry 50 - generating content to trigger file rolling when size limit is reached] [source:15_logger_demo.rb:92]
|
100
|
+
[2025-09-10T10:00:46.602 DEBUG (22295) #] Debug entry 50 [entry_number:50] [batch:demo] [message:Debug entry 50] [source:15_logger_demo.rb:93]
|
@@ -0,0 +1,114 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
# frozen_string_literal: true
|
4
|
+
|
5
|
+
# Example demonstrating multi-transport functionality in SmartMessage
|
6
|
+
# This example shows how to configure and use multiple transports for a single message
|
7
|
+
|
8
|
+
require_relative '../lib/smart_message'
|
9
|
+
|
10
|
+
# Define a simple message class for demonstration
|
11
|
+
class MultiTransportMessage < SmartMessage::Base
|
12
|
+
property :content, required: true
|
13
|
+
property :priority, default: 'normal'
|
14
|
+
|
15
|
+
# Configure multiple transports for this message
|
16
|
+
transport [
|
17
|
+
SmartMessage::Transport::StdoutTransport.new(format: :pretty),
|
18
|
+
SmartMessage::Transport::MemoryTransport.new(auto_process: false)
|
19
|
+
]
|
20
|
+
end
|
21
|
+
|
22
|
+
# Example 1: Single transport (backward compatibility)
|
23
|
+
class SingleTransportMessage < SmartMessage::Base
|
24
|
+
property :data, required: true
|
25
|
+
|
26
|
+
# Single transport works exactly as before
|
27
|
+
transport SmartMessage::Transport::StdoutTransport.new
|
28
|
+
end
|
29
|
+
|
30
|
+
puts "=== SmartMessage Multi-Transport Demo ==="
|
31
|
+
puts
|
32
|
+
|
33
|
+
# Test single transport (backward compatibility)
|
34
|
+
puts "1. Single Transport Example:"
|
35
|
+
single_msg = SingleTransportMessage.new(data: "Hello from single transport", from: "demo_app")
|
36
|
+
puts " Transport count: #{single_msg.transports.length}"
|
37
|
+
puts " Is single transport? #{single_msg.single_transport?}"
|
38
|
+
single_msg.publish
|
39
|
+
puts
|
40
|
+
|
41
|
+
# Test multiple transports
|
42
|
+
puts "2. Multiple Transport Example:"
|
43
|
+
multi_msg = MultiTransportMessage.new(
|
44
|
+
content: "Hello from multiple transports!",
|
45
|
+
priority: "high",
|
46
|
+
from: "demo_app"
|
47
|
+
)
|
48
|
+
puts " Transport count: #{multi_msg.transports.length}"
|
49
|
+
puts " Is multiple transports? #{multi_msg.multiple_transports?}"
|
50
|
+
puts " Transport classes: #{multi_msg.transports.map { |t| t.class.name.split('::').last }.join(', ')}"
|
51
|
+
puts " Primary transport (backward compat): #{multi_msg.transport.class.name.split('::').last}"
|
52
|
+
multi_msg.publish
|
53
|
+
puts
|
54
|
+
|
55
|
+
# Test instance-level transport override
|
56
|
+
puts "3. Instance-level Transport Override:"
|
57
|
+
override_msg = MultiTransportMessage.new(content: "Override example", from: "demo_app")
|
58
|
+
override_msg.transport(SmartMessage::Transport::StdoutTransport.new(format: :json))
|
59
|
+
puts " Override transport count: #{override_msg.transports.length}"
|
60
|
+
puts " Override is single? #{override_msg.single_transport?}"
|
61
|
+
override_msg.publish
|
62
|
+
puts
|
63
|
+
|
64
|
+
# Test transport failure resilience
|
65
|
+
puts "4. Transport Failure Resilience:"
|
66
|
+
class FailingTransport < SmartMessage::Transport::Base
|
67
|
+
def publish(message)
|
68
|
+
raise StandardError, "Simulated transport failure"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
class ResilientMessage < SmartMessage::Base
|
73
|
+
property :message, required: true
|
74
|
+
|
75
|
+
transport [
|
76
|
+
FailingTransport.new,
|
77
|
+
SmartMessage::Transport::StdoutTransport.new(format: :compact)
|
78
|
+
]
|
79
|
+
end
|
80
|
+
|
81
|
+
resilient_msg = ResilientMessage.new(message: "Testing failure resilience", from: "demo_app")
|
82
|
+
puts " Publishing with one failing transport..."
|
83
|
+
begin
|
84
|
+
resilient_msg.publish
|
85
|
+
puts " ✓ Message published successfully despite transport failure"
|
86
|
+
rescue => e
|
87
|
+
puts " ✗ Unexpected error: #{e.message}"
|
88
|
+
end
|
89
|
+
puts
|
90
|
+
|
91
|
+
# Test all transports failing
|
92
|
+
puts "5. All Transports Failing:"
|
93
|
+
class AllFailingMessage < SmartMessage::Base
|
94
|
+
property :data
|
95
|
+
|
96
|
+
transport [
|
97
|
+
FailingTransport.new,
|
98
|
+
FailingTransport.new
|
99
|
+
]
|
100
|
+
end
|
101
|
+
|
102
|
+
failing_msg = AllFailingMessage.new(data: "This will fail", from: "demo_app")
|
103
|
+
puts " Publishing with all transports failing..."
|
104
|
+
begin
|
105
|
+
failing_msg.publish
|
106
|
+
puts " ✗ Expected failure did not occur"
|
107
|
+
rescue SmartMessage::Errors::PublishError => e
|
108
|
+
puts " ✓ Correctly caught PublishError: #{e.message.split(':').first}"
|
109
|
+
rescue => e
|
110
|
+
puts " ✗ Unexpected error type: #{e.class} - #{e.message}"
|
111
|
+
end
|
112
|
+
puts
|
113
|
+
|
114
|
+
puts "=== Demo Complete ==="
|
@@ -81,8 +81,8 @@ class SensorDataMessage < SmartMessage::Base
|
|
81
81
|
transport SHARED_TRANSPORT
|
82
82
|
end
|
83
83
|
|
84
|
-
def
|
85
|
-
message_header, message_payload =
|
84
|
+
def process(message)
|
85
|
+
message_header, message_payload = message
|
86
86
|
sensor_data = JSON.parse(message_payload)
|
87
87
|
icon = case sensor_data['device_type']
|
88
88
|
when 'thermostat' then '🌡️'
|
@@ -115,8 +115,8 @@ class DeviceCommandMessage < SmartMessage::Base
|
|
115
115
|
transport SHARED_TRANSPORT
|
116
116
|
end
|
117
117
|
|
118
|
-
def
|
119
|
-
message_header, message_payload =
|
118
|
+
def process(message)
|
119
|
+
message_header, message_payload = message
|
120
120
|
command_data = JSON.parse(message_payload)
|
121
121
|
puts "🎛️ Command sent: #{command_data['command']} to #{command_data['device_id']} (requested by #{command_data['requested_by']})"
|
122
122
|
end
|
@@ -147,8 +147,8 @@ class AlertMessage < SmartMessage::Base
|
|
147
147
|
transport SHARED_TRANSPORT
|
148
148
|
end
|
149
149
|
|
150
|
-
def
|
151
|
-
message_header, message_payload =
|
150
|
+
def process(message)
|
151
|
+
message_header, message_payload = message
|
152
152
|
alert_data = JSON.parse(message_payload)
|
153
153
|
severity_icon = case alert_data['severity']
|
154
154
|
when 'low' then '💙'
|
@@ -175,8 +175,8 @@ class DashboardStatusMessage < SmartMessage::Base
|
|
175
175
|
transport SHARED_TRANSPORT
|
176
176
|
end
|
177
177
|
|
178
|
-
def
|
179
|
-
message_header, message_payload =
|
178
|
+
def process(message)
|
179
|
+
message_header, message_payload = message
|
180
180
|
status_data = JSON.parse(message_payload)
|
181
181
|
status_icon = case status_data['system_status']
|
182
182
|
when 'normal' then '✅'
|
@@ -205,8 +205,8 @@ class SmartThermostat
|
|
205
205
|
DeviceCommandMessage.subscribe("SmartThermostat.handle_command")
|
206
206
|
end
|
207
207
|
|
208
|
-
def
|
209
|
-
message_header, message_payload =
|
208
|
+
def handle_command(message)
|
209
|
+
message_header, message_payload = message
|
210
210
|
command_data = JSON.parse(message_payload)
|
211
211
|
|
212
212
|
# Only process commands intended for thermostats with our device ID
|
@@ -289,8 +289,8 @@ class SecurityCamera
|
|
289
289
|
DeviceCommandMessage.subscribe("SecurityCamera.handle_command")
|
290
290
|
end
|
291
291
|
|
292
|
-
def
|
293
|
-
message_header, message_payload =
|
292
|
+
def handle_command(message)
|
293
|
+
message_header, message_payload = message
|
294
294
|
command_data = JSON.parse(message_payload)
|
295
295
|
|
296
296
|
# Only process commands intended for cameras with our device ID
|
@@ -400,8 +400,8 @@ class SmartDoorLock
|
|
400
400
|
DeviceCommandMessage.subscribe("SmartDoorLock.handle_command")
|
401
401
|
end
|
402
402
|
|
403
|
-
def
|
404
|
-
message_header, message_payload =
|
403
|
+
def handle_command(message)
|
404
|
+
message_header, message_payload = message
|
405
405
|
command_data = JSON.parse(message_payload)
|
406
406
|
|
407
407
|
# Only process commands intended for door locks with our device ID
|
@@ -482,20 +482,20 @@ class IoTDashboard
|
|
482
482
|
DeviceCommandMessage.subscribe("IoTDashboard.log_command")
|
483
483
|
end
|
484
484
|
|
485
|
-
def
|
486
|
-
message_header, message_payload =
|
485
|
+
def handle_sensor_data(message)
|
486
|
+
message_header, message_payload = message
|
487
487
|
@@instance ||= new
|
488
488
|
@@instance.process_sensor_data(message_header, message_payload)
|
489
489
|
end
|
490
490
|
|
491
|
-
def
|
492
|
-
message_header, message_payload =
|
491
|
+
def handle_alert(message)
|
492
|
+
message_header, message_payload = message
|
493
493
|
@@instance ||= new
|
494
494
|
@@instance.process_alert(message_header, message_payload)
|
495
495
|
end
|
496
496
|
|
497
|
-
def
|
498
|
-
message_header, message_payload =
|
497
|
+
def log_command(message)
|
498
|
+
message_header, message_payload = message
|
499
499
|
@@instance ||= new
|
500
500
|
@@instance.log_device_command(message_header, message_payload)
|
501
501
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
def box_it(strings, bchar: "#")
|
2
|
+
# Ensure we have an array of strings
|
3
|
+
rows = Array(strings).map{|s| s.to_s.strip}
|
4
|
+
max_width = rows.map(&:length).max || 0
|
5
|
+
|
6
|
+
border = bchar * (max_width + 4)
|
7
|
+
puts border
|
8
|
+
rows.each do |s|
|
9
|
+
puts "#{bchar} #{s.center(max_width)} #{bchar}"
|
10
|
+
end
|
11
|
+
puts border
|
12
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# ~/lib/ruby/doing.rb
|
2
|
+
# puts feedback stdout content around an action.
|
3
|
+
|
4
|
+
def doing(action_text = nil, ok: 'done', fail: 'failed')
|
5
|
+
action_text ||= 'Working'
|
6
|
+
print("#{action_text} ... ")
|
7
|
+
STDOUT.flush
|
8
|
+
start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
9
|
+
begin
|
10
|
+
result = yield if block_given?
|
11
|
+
elapsed = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
|
12
|
+
elapsed_str = elapsed < 0.01 ? "<0.01s" : "#{elapsed.round(2)}s"
|
13
|
+
puts "#{ok} #{elapsed_str}"
|
14
|
+
result
|
15
|
+
rescue => e
|
16
|
+
puts "#{fail} #{e.message}"
|
17
|
+
raise
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
You: write some ruby code for me: I want a method that takes an Array of left justified Strings an
|
3
|
+
d centers each entry based upon the longest entry then outputs these strings to stdout enclosed within a box made
|
4
|
+
out of the ascii character for pound sign.
|
5
|
+
|
6
|
+
AI:
|
7
|
+
def boxed_center(strings)
|
8
|
+
# Ensure we have an array of strings
|
9
|
+
rows = Array(strings).map(&:to_s)
|
10
|
+
max_width = rows.map(&:length).max || 0
|
11
|
+
|
12
|
+
border = "#" * (max_width + 4)
|
13
|
+
puts border
|
14
|
+
rows.each do |s|
|
15
|
+
puts "# #{s.center(max_width)} #"
|
16
|
+
end
|
17
|
+
puts border
|
18
|
+
end
|
19
|
+
|
20
|
+
# Example:
|
21
|
+
# boxed_center(["alpha", "beta", "gamma rays", "delta"])
|
22
|
+
# Output:
|
23
|
+
# ##############
|
24
|
+
# # alpha #
|
25
|
+
# # beta #
|
26
|
+
# # gamma rays #
|
27
|
+
# # delta #
|
28
|
+
# ##############
|
data/lib/smart_message/base.rb
CHANGED
@@ -37,11 +37,9 @@ module SmartMessage
|
|
37
37
|
include Hashie::Extensions::MethodAccess
|
38
38
|
|
39
39
|
# Common attrubutes for all messages
|
40
|
-
# TODO:
|
41
|
-
#
|
42
|
-
#
|
43
|
-
# where the wrapper contains header/routing information
|
44
|
-
# in addition to the serialized message data.
|
40
|
+
# TODO: This comment is now obsolete - the flat message structure
|
41
|
+
# has been implemented where header and message properties
|
42
|
+
# exist at the same level in a flat structure.
|
45
43
|
property :_sm_header
|
46
44
|
|
47
45
|
# Constructor for a messsage definition that allows the
|
@@ -137,8 +135,8 @@ module SmartMessage
|
|
137
135
|
JSON.generate(payload_props)
|
138
136
|
end
|
139
137
|
|
140
|
-
# Backward compatibility method for handlers that expect
|
141
|
-
# Returns [header, payload_json] in the old
|
138
|
+
# Backward compatibility method for handlers that expect message.split
|
139
|
+
# Returns [header, payload_json] in the old two-tier format
|
142
140
|
def split
|
143
141
|
[_sm_header, _sm_payload]
|
144
142
|
end
|
data/lib/smart_message/errors.rb
CHANGED
data/lib/smart_message/header.rb
CHANGED
@@ -58,7 +58,7 @@ module SmartMessage
|
|
58
58
|
required: false,
|
59
59
|
description: "Optional unique identifier of the entity that should receive replies to this message. Defaults to 'from' entity if not specified"
|
60
60
|
|
61
|
-
# Serialization tracking for
|
61
|
+
# Serialization tracking for message architecture
|
62
62
|
property :serializer,
|
63
63
|
required: false,
|
64
64
|
description: "Class name of the serializer used to encode the payload (e.g., 'SmartMessage::Serializer::Json'). Used by DLQ and cross-serializer gateway patterns"
|
@@ -10,7 +10,7 @@ module SmartMessage
|
|
10
10
|
module Logger
|
11
11
|
# Default logger implementation for SmartMessage
|
12
12
|
#
|
13
|
-
# This logger provides a simple Ruby Logger
|
13
|
+
# This logger provides a simple Ruby Logger message with enhanced formatting.
|
14
14
|
# Applications can easily configure Rails.logger or other loggers through
|
15
15
|
# the global configuration system instead.
|
16
16
|
#
|
@@ -21,13 +21,43 @@ module SmartMessage
|
|
21
21
|
|
22
22
|
raise Errors::TransportNotConfigured if transport_missing?
|
23
23
|
|
24
|
-
#
|
25
|
-
|
26
|
-
|
27
|
-
(self.class.logger || SmartMessage::Logger.default).debug { "[SmartMessage::Messaging] transport.publish completed" }
|
24
|
+
# Get all configured transports (supports both single and multiple)
|
25
|
+
transport_list = transports
|
26
|
+
logger = self.class.logger || SmartMessage::Logger.default
|
28
27
|
|
29
|
-
#
|
30
|
-
|
28
|
+
# Track publication results for each transport
|
29
|
+
successful_transports = []
|
30
|
+
failed_transports = []
|
31
|
+
|
32
|
+
# Publish to each configured transport
|
33
|
+
transport_list.each do |transport_instance|
|
34
|
+
begin
|
35
|
+
# Transport handles serialization - just pass the message instance
|
36
|
+
logger.debug { "[SmartMessage::Messaging] About to call transport.publish on #{transport_instance.class.name.split('::').last}" }
|
37
|
+
transport_instance.publish(self)
|
38
|
+
logger.debug { "[SmartMessage::Messaging] transport.publish completed on #{transport_instance.class.name.split('::').last}" }
|
39
|
+
|
40
|
+
successful_transports << transport_instance.class.name.split('::').last
|
41
|
+
rescue => transport_error
|
42
|
+
logger.error { "[SmartMessage] Transport #{transport_instance.class.name.split('::').last} failed: #{transport_error.class.name} - #{transport_error.message}" }
|
43
|
+
failed_transports << { transport: transport_instance.class.name.split('::').last, error: transport_error }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# Log overall publication results
|
48
|
+
if successful_transports.any?
|
49
|
+
logger.info { "[SmartMessage] Published: #{self.class.name} via #{successful_transports.join(', ')}" }
|
50
|
+
end
|
51
|
+
|
52
|
+
if failed_transports.any?
|
53
|
+
logger.warn { "[SmartMessage] Failed transports for #{self.class.name}: #{failed_transports.map { |ft| ft[:transport] }.join(', ')}" }
|
54
|
+
end
|
55
|
+
|
56
|
+
# Raise error only if ALL transports failed
|
57
|
+
if successful_transports.empty? && failed_transports.any?
|
58
|
+
error_messages = failed_transports.map { |ft| "#{ft[:transport]}: #{ft[:error].message}" }.join('; ')
|
59
|
+
raise Errors::PublishError, "All transports failed: #{error_messages}"
|
60
|
+
end
|
31
61
|
|
32
62
|
SS.add(_sm_header.message_class, 'publish')
|
33
63
|
SS.get(_sm_header.message_class, 'publish')
|