footprint-log 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9c8637e5e2c1b95ee77829c19ad6964dc2544d56
4
- data.tar.gz: 06668e5f8f3ec83b851b640a284493469bde85ed
3
+ metadata.gz: 37401f9e0d7fde7d558dd7e1c61eac9453d53036
4
+ data.tar.gz: 43dade513b5c0270bae125ce185fd50938cd73ae
5
5
  SHA512:
6
- metadata.gz: 9049f9476114f701c7660320daec216b0adca41452fac4ccb5c4208c7d581e053b1260ea242ecca35c7bfdda2b231a40840489652a7dcd11f277ab3c92a128f7
7
- data.tar.gz: 18dfed8dd26460a1511a84f4c8d6e4b39226336bd9d45c13e72550f303b375e258f489334a2cc1af866f67bdf57a043982e0e27f42669c5eefc009ef3ea1ea15
6
+ metadata.gz: 18157ff1383339f8c1a22a9d0f087cd0d9edbc5c37aeeae327ad51f0905247f7238773633805e7dac4feccb8bb16c6b87f53a47da25fa7a0522300abaaf23526
7
+ data.tar.gz: fdd8c67dbd744379188e0621db5f873a3351aebdaaaabe31c6e6b8b0f693ec316a59cb9ba52757d4938d4b4cd3b74f47666e9e8eef427eb5b65d94000e812c15
@@ -1,4 +1,4 @@
1
- = Footprint (Beta)
1
+ = Footprint
2
2
  Rack Application Logging Tools
3
3
 
4
4
  {<img src="https://badge.fury.io/rb/footprint-log.svg" alt="Gem Version" />}[http://badge.fury.io/rb/footprint-log]
@@ -66,7 +66,7 @@ In that case we can do something like this:
66
66
  end
67
67
 
68
68
 
69
- Let's assume we want to use the following custom Logger class, initialized with log_device as STDOUT and level as 5.
69
+ Let's assume we want to use the following custom Logger class, initialized with log_device as STDOUT and level as 1 (that is INFO level).
70
70
 
71
71
  class MyAwesomeLogger < Logger
72
72
 
@@ -6,12 +6,31 @@ module Footprint
6
6
 
7
7
  # Class that extends the Ruby Logger.
8
8
  #
9
- # Does nothing extra for now but will be used to add generic
10
- # configuration in the future since other Footprint::Log
11
- # classes extend this.
9
+ # Does nothing extra except setting the default logdev as nil but will be used to add generic
10
+ # configuration in the future since other Footprint::Log classes extend this.
12
11
  class Basic < Logger
13
12
 
14
- # Sets the default logdev as nil
13
+ #
14
+ # === Synopsis
15
+ #
16
+ # Footprint::Log::Basic.new(name, shift_age = 7, shift_size = 1048576)
17
+ # Footprint::Log::Basic.new(name, shift_age = 'weekly')
18
+ #
19
+ # === Args
20
+ #
21
+ # +logdev+::
22
+ # The log device. This is a filename (String) or IO object (typically
23
+ # +STDOUT+, +STDERR+, or an open file, defaults to nil).
24
+ # +shift_age+::
25
+ # Number of old log files to keep, *or* frequency of rotation (+daily+,
26
+ # +weekly+ or +monthly+).
27
+ # +shift_size+::
28
+ # Maximum logfile size (only applies when +shift_age+ is a number).
29
+ #
30
+ # === Description
31
+ #
32
+ # Create an instance with logdev as nil.
33
+ #
15
34
  def initialize logdev = nil, shift_age = 0, shift_size = 1048576
16
35
  super
17
36
  end
@@ -11,7 +11,24 @@ module Footprint
11
11
  # write in log.
12
12
  class ErrorFile < Basic
13
13
 
14
+ #
15
+ # === Synopsis
16
+ #
17
+ # write 'My dummy error log message'
18
+ #
19
+ # === Args
20
+ #
21
+ # +message+::
22
+ # The log message. A String or Exception.
23
+ #
24
+ # === Return
25
+ #
26
+ # +true+ if successful, +false+ otherwise.
27
+ #
28
+ # === Description
29
+ #
14
30
  # Logs the message on error level on logger.
31
+ #
15
32
  def write(message)
16
33
  error message
17
34
  end
@@ -11,7 +11,24 @@ module Footprint
11
11
  # write in log.
12
12
  class OutFile < Basic
13
13
 
14
+ #
15
+ # === Synopsis
16
+ #
17
+ # write 'My dummy info log message'
18
+ #
19
+ # === Args
20
+ #
21
+ # +message+::
22
+ # The log message. A String or Exception.
23
+ #
24
+ # === Return
25
+ #
26
+ # +true+ if successful, +false+ otherwise.
27
+ #
28
+ # === Description
29
+ #
14
30
  # Logs the message on info level on logger.
31
+ #
15
32
  def write(message)
16
33
  info message
17
34
  end
@@ -8,19 +8,50 @@ module Footprint
8
8
  # the application with loggers, taking advantage of the @env.
9
9
  class Middleware
10
10
 
11
- # @app = the instance of the application that uses this middleware.
12
- # @logger = the instance of the logger used to decorate the Rack application.
13
- attr_accessor :app, :logger
11
+ # The instance of the Rack +app+ that uses this middleware.
12
+ attr_accessor :app
14
13
 
15
- # Initialize the Middleware with the app that uses this
16
- # Middleware and an optional block.
14
+ # The instance of the +logger+ used to decorate the Rack application.
15
+ attr_accessor :logger
16
+
17
+
18
+
19
+ #
20
+ # === Synopsis
21
+ #
22
+ # Basic Middleware usage:
23
+ #
24
+ # use Footprint::Middleware
25
+ #
26
+ # Advanced Middleware usage:
27
+ #
28
+ # use Footprint::Middleware do
29
+ # set Logger, STDOUT
30
+ # end
31
+ #
32
+ # Clazz init:
33
+ #
34
+ # Footprint::Middleware.new app # => #<Footprint::Middleware>
35
+ #
36
+ # === Args
37
+ #
38
+ # +app+::
39
+ # Rack application instance.
40
+ # +block+::
41
+ # Optional block, used to instance_eval (defaults to nil)
42
+ #
43
+ # === Description
44
+ #
45
+ # Initialize the Middleware with the +app+ that uses this
46
+ # Middleware and an optional +block+.
17
47
  #
18
48
  # Sets as the default logger a Footprint::Log::Basic on STDOUT.
19
49
  #
20
- # Decorate the given app with a new method called logger,
50
+ # Decorate the given +app+ with a new method called logger,
21
51
  # that will return the instance of the logger from the env.
22
52
  #
23
- # If any block is given, a instance_eval is called.
53
+ # If any +block+ is given, a instance_eval is called.
54
+ #
24
55
  def initialize(app, &block)
25
56
 
26
57
  @app = app
@@ -35,19 +66,57 @@ module Footprint
35
66
  self.instance_eval &block if block
36
67
  end
37
68
 
38
-
69
+ #
70
+ # === Synopsis
71
+ #
72
+ # Footprint:Middleware.call env # => env
73
+ #
74
+ # === Args
75
+ #
76
+ # +env+::
77
+ # Rack request environment.
78
+ #
79
+ # === Return
80
+ #
81
+ # +env+ returned always.
82
+ #
83
+ # === Description
84
+ #
39
85
  # The current instance of the logger is set on env[:footprint_logger]
40
86
  # and the app is called further with the enriched env.
87
+ #
41
88
  def call(env)
42
89
  env[:footprint_logger] = @logger
43
90
  @app.call env
44
91
  end
45
92
 
93
+ #
94
+ # === Synopsis
95
+ #
96
+ # Basic usage:
97
+ #
98
+ # Footprint.Middleware.set Logger, STDOUT # => logger
99
+ #
100
+ # === Args
101
+ #
102
+ # +clazz+::
103
+ # Any Logger class that has the default Logger methods.
104
+ #
105
+ # +args+::
106
+ # Optional array of arguments passed to the Logger class for initialize (defaults to nil)
107
+ #
108
+ # === Return
109
+ #
110
+ # +logger+ returned always.
111
+ #
112
+ # === Description
113
+ #
46
114
  # Initialize the current instance of the logger with
47
115
  # a new instance of the class given as parameter.
48
116
  #
49
117
  # The initialization of the class given is done using
50
118
  # the second parameter.
119
+ #
51
120
  def set clazz, *args
52
121
  @logger = clazz.send(:new, *args)
53
122
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: footprint-log
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puiu Ionut
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-03 00:00:00.000000000 Z
11
+ date: 2014-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gelf