spawning-logger 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +60 -3
  3. data/lib/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1c55f2d38055862dc3b2b585be3e1fc1f6e56a5
4
- data.tar.gz: 12c9036eb7d86661e95db59efaf8fd69b92f4fd2
3
+ metadata.gz: 5780ad3f11ff125fb15075028a3f7ad487040610
4
+ data.tar.gz: 20087f952ef516872142d8922393fa46cd1f32ca
5
5
  SHA512:
6
- metadata.gz: caf4a49ed5b233f8d8d8c38407c603008d8d874872402d96540ac0ce85c78d271ba403978839db43130b34be42e44e8ad4929e192a98899da12a6b224e20f4f3
7
- data.tar.gz: 39aa7f7765c05342b43b6afa53f4618dabb0051cc7428a8cbc5eee2baf7b2f89b3b8abb4a6ab3ee53b1bda93de26588da067241b7277a254972e5b08e20c05c3
6
+ metadata.gz: 8781d2df8c8a947b376171b192c0dfd7a9f2da3b566479c30a7938a008f50ce55675df4dee379ed512cc70cd44090851a154c13a3ed850765756036be1d855a1
7
+ data.tar.gz: 3ddd6817ae776b5e46dbcd796df8ebee939eb21e3255c39770bd2e08982324ff7aae030db9066a65de842065d46046106b409edc9832072b488bfa2c17f33a79
data/README.md CHANGED
@@ -1,4 +1,61 @@
1
- spawning_logger
2
- ===============
1
+ # SpawningLogger
3
2
 
4
- A logger that is able to spawn sub-loggers
3
+ A Logger that is able to spawn sub-loggers.
4
+
5
+ ## General
6
+
7
+ Example use case: you run a server and want to log different clients each into their own logfile (for example if you got a huge amount of clients connecting).
8
+
9
+ This logger can spawn sub-loggers with different files, each of those file's name is derived from the main logger's file and the sub-logger's id.
10
+
11
+ Also supports a preset logfile subdirectory in case you create many subloggers (for example you might be interested in splitting development, production, test logs into subdirectories).
12
+
13
+ Only the constructor is modified and the spawning factory method added, everything else is delegated to the ruby stdlib ::Logger class.
14
+
15
+ ## Examples:
16
+
17
+ ### 1) usage same as ::Logger
18
+
19
+ ```ruby
20
+ logger = SpawningLogger.new('server.log')
21
+
22
+ # => creates ./server.log
23
+ ```
24
+
25
+ ### 2) spawn child logger
26
+
27
+ ```ruby
28
+ logger = SpawningLogger.new('server.log')
29
+ child_logger = logger.spawn('worker1')
30
+
31
+ # => creates ./server_worker1.log
32
+ # => returns a ::Logger instance logging into this file
33
+ ```
34
+
35
+ ### 3) spawn child logger with prefix
36
+
37
+ ```ruby
38
+ SpawningLogger.configure do |config|
39
+ config.child_prefix = 'worker'
40
+ end
41
+
42
+ logger = SpawningLogger.new('server.log')
43
+ child_logger = logger.spawn('1')
44
+
45
+ # => creates ./server_worker_1.log
46
+ # => returns a ::Logger instance logging into this file
47
+ ```
48
+
49
+ ### 4) create all logfiles inside subdir, injected into original path
50
+
51
+ ```ruby
52
+ SpawningLogger.configure do |config|
53
+ config.subdir = 'production'
54
+ end
55
+
56
+ logger = SpawningLogger.new('log/server.log')
57
+ child_logger = logger.spawn('1')
58
+
59
+ # => creates ./log/production/server.log
60
+ # => creates ./log/production/server_worker_1.log
61
+ ```
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'logger'
2
2
 
3
3
  class SpawningLogger < ::Logger
4
- VERSION = "0.0.1"
4
+ VERSION = "0.0.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spawning-logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Seeger