yell 0.3.0 → 0.3.1

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.
data/README.md CHANGED
@@ -36,14 +36,14 @@ Alternatively, you may define `ENV['YELL_ENV']` to set the filename. If neither
36
36
  `log` directory exists, Yell will place the file there (only if you have not passed
37
37
  a filename explicitly.
38
38
 
39
- Naturally, if you pass a `:filename` to Yell:
39
+ Naturally, you can pass a `:filename` to Yell:
40
40
 
41
41
  ```ruby
42
42
  logger = Yell.new 'yell.log'
43
43
  ```
44
44
 
45
- Please refer to the wiki for further usage examples:
46
- https://github.com/rudionrails/yell/wiki/
45
+ To learn about how to use [log levels](https://github.com/rudionrails/yell/wiki/101-setting-the-log-level), [log formatting](https://github.com/rudionrails/yell/wiki/101-formatting-log-messages), or different [adapters](https://github.com/rudionrails/yell/wiki/101-using-adapters) see the [wiki](https://github.com/rudionrails/yell/wiki) or have a look into the examples folder.
46
+
47
47
 
48
48
  Copyright © 2011-2012 Rudolf Schmidt, released under the MIT license
49
49
 
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/yell'
4
+
5
+ puts <<-EOS
6
+
7
+ # On the basics, Yell works just like any other logging library.
8
+ #
9
+ # However, it enriches your log messages to make it more readable. By default,
10
+ # it will format the given message as follows:
11
+
12
+ logger = Yell.new STDOUT
13
+ logger.info "Hello World!"
14
+
15
+ #=> "2012-02-29T09:30:00+01:00 [ INFO] 65784 : Hello World!"
16
+ # ^ ^ ^ ^
17
+ # ISO8601 Timestamp Level Pid Message
18
+
19
+
20
+ EOS
21
+
22
+ puts "=== actual example ==="
23
+ logger = Yell.new STDOUT
24
+ logger.info "Hello World!"
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/yell'
4
+
5
+ puts <<-EOS
6
+
7
+ # Like many other logging libraries, Yell allows you to define from which level
8
+ # onwards you want to write your log message.
9
+
10
+ logger = Yell.new STDOUT, :level => :info
11
+
12
+ logger.debug "This is a :debug message"
13
+ #=> nil
14
+
15
+ logger.info "This is a :info message"
16
+ #=> "2012-02-29T09:30:00+01:00 [ INFO] 65784 : This is a :info message"
17
+
18
+
19
+ EOS
20
+
21
+ puts "=== actual example ==="
22
+ logger = Yell.new STDOUT, :level => :info
23
+
24
+ logger.debug "This is a :debug message"
25
+ logger.info "This is a :info message"
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/yell'
4
+
5
+ puts <<-EOS
6
+
7
+ # The Yell::Level parser allows you to exactly specify on which levels to log,
8
+ # ignoring all the others. For instance: If we want to only log at the :debug
9
+ # and :warn levels we simply providing an array:
10
+
11
+ logger = Yell.new STDOUT, :level => [:debug, :warn]
12
+
13
+ [:debug, :info, :warn, :error, :fatal].each do |level|
14
+ logger.send( level, level )
15
+ end
16
+ #=> "2012-02-29T09:30:00+01:00 [DEBUG] 65784 : debug"
17
+ #=> "2012-02-29T09:30:00+01:00 [ WARN] 65784 : warn"
18
+
19
+
20
+ EOS
21
+
22
+ puts "=== actual example ==="
23
+ logger = Yell.new STDOUT, :level => [:debug, :warn]
24
+
25
+ [:debug, :info, :warn, :error, :fatal].each do |level|
26
+ logger.send( level, level )
27
+ end
28
+
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/yell'
4
+
5
+ puts <<-EOS
6
+
7
+ # Additionally to writing only on specific levels, you may pass a range to
8
+ # the :level option:
9
+
10
+ logger = Yell.new STDOUT, :level => (:debug..:warn)
11
+
12
+ [:debug, :info, :warn, :error, :fatal].each do |level|
13
+ logger.send( level, level )
14
+ end
15
+ #=> "2012-02-29T09:30:00+01:00 [DEBUG] 65784 : debug"
16
+ #=> "2012-02-29T09:30:00+01:00 [ INFO] 65784 : info"
17
+ #=> "2012-02-29T09:30:00+01:00 [ WARN] 65784 : warn"
18
+
19
+
20
+ EOS
21
+
22
+ puts "=== actuale example ==="
23
+ logger = Yell.new STDOUT, :level => (:debug..:warn)
24
+
25
+ [:debug, :info, :warn, :error, :fatal].each do |level|
26
+ logger.send( level, level )
27
+ end
28
+
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/yell'
4
+
5
+ puts <<-EOS
6
+
7
+ # The default formatting string looks like: %d [%5L] %p : %m and is used when
8
+ # nothing else is defined.
9
+
10
+ logger = Yell.new STDOUT, :format => Yell::DefaultFormat
11
+ logger.info "Hello World!"
12
+ #=> "2012-02-29T09:30:00+01:00 [ INFO] 65784 : Hello World!"
13
+ # ^ ^ ^ ^
14
+ # ISO8601 Timestamp Level Pid Message
15
+
16
+
17
+ EOS
18
+
19
+ puts "=== actuale example ==="
20
+ logger = Yell.new STDOUT, :format => Yell::DefaultFormat
21
+ logger.info "Hello World!"
22
+
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/yell'
4
+
5
+ puts <<-EOS
6
+
7
+ # The basic formating string looks like: %l, %d: %m.
8
+
9
+ logger = Yell.new STDOUT, :format => Yell::BasicFormat
10
+ logger.info "Hello World!"
11
+ #=> "I, 2012-02-29T09:30:00+01:00 : Hello World!"
12
+ # ^ ^ ^
13
+ # ^ ISO8601 Timestamp Message
14
+ # Level (short)
15
+
16
+
17
+ EOS
18
+
19
+ puts "=== actuale example ==="
20
+ logger = Yell.new STDOUT, :format => Yell::BasicFormat
21
+ logger.info "Hello World!"
22
+
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/yell'
4
+
5
+ puts <<-EOS
6
+
7
+ # The extended formatting string looks like: %d [%5L] %p %h : %m.
8
+
9
+ logger = Yell.new STDOUT, :format => Yell::ExtendedFormat
10
+ logger.info "Hello World!"
11
+ #=> "2012-02-29T09:30:00+01:00 [ INFO] 65784 localhost : Hello World!"
12
+ # ^ ^ ^ ^ ^
13
+ # ISO8601 Timestamp Level Pid Hostname Message
14
+
15
+
16
+ EOS
17
+
18
+ puts "=== actuale example ==="
19
+ logger = Yell.new STDOUT, :format => Yell::ExtendedFormat
20
+ logger.info "Hello World!"
21
+
@@ -0,0 +1,21 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/yell'
4
+
5
+ puts <<-EOS
6
+
7
+ The extended formatting string looks like: %d [%5L] %p %h : %m.
8
+
9
+ logger = Yell.new STDOUT, :format => "[%f:%n in `%M'] %m"
10
+ logger.info "Hello World!"
11
+ #=> [003.4-formatting-on-your-own.rb:20 in `<main>'] Hello World!
12
+ # ^ ^ ^ ^
13
+ # filename line method message
14
+
15
+
16
+ EOS
17
+
18
+ puts "=== actuale example ==="
19
+ logger = Yell.new STDOUT, :format => "[%f:%n in `%M'] %m"
20
+ logger.info "Hello World!"
21
+
@@ -36,7 +36,6 @@ require 'yell/adapters'
36
36
  require 'yell/logger'
37
37
 
38
38
  module Yell #:nodoc:
39
- # The possible log levels
40
39
  Severities = [ 'DEBUG', 'INFO', 'WARN', 'ERROR', 'FATAL', 'UNKNOWN' ]
41
40
 
42
41
  class << self
@@ -1,7 +1,7 @@
1
1
  module Yell #:nodoc:
2
2
 
3
3
  class Event
4
- CallerRegexp = /^(.+?):(\d+)(?::in `(.*)')?/ #:nodoc:
4
+ CallerRegexp = /^(.+?):(\d+)(?::in `(.*)')?/
5
5
 
6
6
  # Accessor to the log level
7
7
  attr_reader :level
@@ -42,7 +42,7 @@ module Yell #:nodoc:
42
42
  ExtendedFormat = "%d [%5L] %p %h : %m"
43
43
 
44
44
 
45
- def format( pattern, date_pattern ) #:nodoc:
45
+ def self.format( pattern, date_pattern )
46
46
  Yell::Formatter.new( pattern, date_pattern )
47
47
  end
48
48
 
@@ -57,7 +57,7 @@ module Yell #:nodoc:
57
57
  "L" => "event.level", # Level, e.g. 'INFO', 'WARN'
58
58
  "d" => "date(event)", # ISO8601 Timestamp
59
59
  "p" => "Process.pid", # PID
60
- "h" => "Socket.gethostname rescue nil", # Hostname
60
+ "h" => "hostname", # Hostname
61
61
  "F" => "event.file", # Path with filename where the logger was called
62
62
  "f" => "File.basename(event.file)", # Filename where the loger was called
63
63
  "M" => "event.method", # Method name where the logger was called
@@ -105,6 +105,12 @@ module Yell #:nodoc:
105
105
  @date_pattern ? event.time.strftime( @date_pattern ) : event.time.iso8601
106
106
  end
107
107
 
108
+ def hostname
109
+ require 'socket' unless defined? Socket
110
+
111
+ Socket.gethostname rescue nil
112
+ end
113
+
108
114
  end
109
115
  end
110
116
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Yell #:nodoc:
4
4
 
5
- def level( val = nil ) #:nodoc:
5
+ def self.level( val = nil )
6
6
  Yell::Level.new( val )
7
7
  end
8
8
 
@@ -1,4 +1,4 @@
1
1
  module Yell #:nodoc:
2
- VERSION = "0.3.0" #:nodoc:
2
+ VERSION = "0.3.1"
3
3
 
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yell
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -23,6 +23,14 @@ files:
23
23
  - LICENSE.txt
24
24
  - README.md
25
25
  - Rakefile
26
+ - examples/001-basic-usage.rb
27
+ - examples/002.1-log-level-basics.rb
28
+ - examples/002.2-log-level-on-certain-severities-only.rb
29
+ - examples/002.3-log-level-within-range.rb
30
+ - examples/003.1-formatting-DefaultFormat.rb
31
+ - examples/003.2-formatting-BasicFormat.rb
32
+ - examples/003.3-formatting-ExtendedFormat.rb
33
+ - examples/003.4-formatting-on-your-own.rb
26
34
  - lib/yell.rb
27
35
  - lib/yell/adapters.rb
28
36
  - lib/yell/adapters/.file.rb.swp