logging-remote-syslog 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --default_path spec
2
+ --order rand
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.3
5
+ - jruby-18mode # JRuby in 1.8 mode
6
+ - jruby-19mode # JRuby in 1.9 mode
7
+ - rbx-18mode
8
+ - rbx-19mode
9
+ - ree
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in logging-remote-syslog.gemspec
4
+ gemspec
@@ -0,0 +1,51 @@
1
+ # logging/remote-syslog
2
+
3
+ logging/remote-syslog is a remote syslog appender for use with the Logging library. ![Travis CI Status](https://secure.travis-ci.org/BIAINC/logging-remote-syslog.png)
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+ ```bash
9
+ gem 'logging-remote-syslog'
10
+ ```
11
+
12
+ And then execute:
13
+ ```bash
14
+ $ bundle
15
+ ```
16
+
17
+ Or install it yourself as:
18
+ ```bash
19
+ $ gem install logging-remote-syslog
20
+ ```
21
+
22
+ ## Usage
23
+
24
+ ```
25
+ require 'logging'
26
+ require 'logging/remote-syslog'
27
+
28
+ logger = Logging.logger['MyApp']
29
+ logger.add_appenders(
30
+ Logging.appenders.remote_syslog(ident, syslog_server: syslog_host, port: syslog_port)
31
+ )
32
+
33
+ logger.level = :info
34
+ logger.info 'MyApp Message'
35
+
36
+ ```
37
+
38
+ ## Tests
39
+
40
+ ```
41
+ rake
42
+ ```
43
+
44
+ ## Contributing
45
+
46
+ 1. Fork it
47
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
48
+ 3. Write code and add _tests_
49
+ 4. Commit your changes (`git commit -am 'Added some feature'`)
50
+ 5. Push to the branch (`git push origin my-new-feature`)
51
+ 6. Create new Pull Request
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env rake
2
+ require 'bundler'
3
+ require "bundler/gem_tasks"
4
+
5
+ Bundler.setup
6
+ Bundler.require
7
+
8
+ require 'rspec/core/rake_task'
9
+
10
+ task :default => [:spec]
11
+
12
+ desc "Run all RSpec tests"
13
+ RSpec::Core::RakeTask.new(:spec) do |t|
14
+ t.ruby_opts = ["-W0"]
15
+ end
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,170 @@
1
+ # Copyright (c) <2012> ['Tim Pease','Amy Sutedja', 'Paul Morton']
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this
4
+ # software and associated documentation files (the "Software"), to deal in the Software
5
+ # without restriction, including without limitation the rights to use, copy, modify, merge,
6
+ # publish, distribute, sublicense, and/or sell copies of the Software, and to permit
7
+ # persons to whom the Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or
10
+ # substantial portions of the Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
+ # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14
+ # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
15
+ # FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
16
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
+
18
+ module Logging::Appenders
19
+ def self.remote_syslog( *args )
20
+ return Logging::Appenders::RemoteSyslog if args.empty?
21
+ Logging::Appenders::RemoteSyslog.new(*args)
22
+ end
23
+
24
+ # This class provides an Appender that can write to remote syslog.
25
+ #
26
+ class RemoteSyslog < Logging::Appender
27
+ # call-seq:
28
+ # RemoteSyslog.new( name, opts = {} )
29
+ #
30
+ # Create an appender that will log messages to remote syslog. The
31
+ # options that can be used to configure the appender are as follows:
32
+ #
33
+ # :ident => identifier string (name is used by default)
34
+ # :syslog_server => address of the remote syslog server
35
+ # :port => port of the remote syslog server
36
+ # :facility => the syslog facility to use
37
+ #
38
+ # The parameter :ident is a string that will be prepended to every
39
+ # message. The :facility parameter encodes a default facility to be
40
+ # assigned to all messages that do not have an explicit facility encoded.
41
+ #
42
+ # 'auth' The authorization system: login(1), su(1), getty(8),
43
+ # etc.
44
+ #
45
+ # 'authpriv' The same as 'auth', but logged to a file readable
46
+ # only by selected individuals.
47
+ #
48
+ # 'cron' The cron daemon: cron(8).
49
+ #
50
+ # 'daemon' System daemons, such as routed(8), that are not
51
+ # provided for explicitly by other facilities.
52
+ #
53
+ # 'ftp' The file transfer protocol daemons: ftpd(8), tftpd(8).
54
+ #
55
+ # 'kern' Messages generated by the kernel. These cannot be
56
+ # generated by any user processes.
57
+ #
58
+ # 'lpr' The line printer spooling system: lpr(1), lpc(8),
59
+ # lpd(8), etc.
60
+ #
61
+ # 'mail' The mail system.
62
+ #
63
+ # 'news' The network news system.
64
+ #
65
+ # 'syslog' Messages generated internally by syslogd(8).
66
+ #
67
+ # 'user' Messages generated by random user processes. This is
68
+ # the default facility identifier if none is specified.
69
+ #
70
+ # 'uucp' The uucp system.
71
+ #
72
+ # 'local0' Reserved for local use. Similarly for 'local1'
73
+ # through 'local7'.
74
+ #
75
+ # See SyslogProtocol::FACILITIES for the complete list of valid values.
76
+ #
77
+ def initialize( name, opts = {} )
78
+ @ident = opts.getopt(:ident, name)
79
+ @syslog_server = opts.getopt(:syslog_server, '127.0.0.1')
80
+ @port = opts.getopt(:port, 514, :as => Integer)
81
+
82
+ facility_name = opts.getopt(:facility, 'user')
83
+
84
+ @facility = ::SyslogProtocol::FACILITIES[facility_name]
85
+
86
+ # provides a mapping from the default Logging levels
87
+ # to the syslog levels
88
+ @map = ['debug', 'info', 'warn', 'err', 'crit']
89
+
90
+ map = opts.getopt(:map)
91
+ self.map = map unless map.nil?
92
+
93
+ super
94
+ end
95
+
96
+ # call-seq:
97
+ # map = { logging_levels => syslog_levels }
98
+ #
99
+ # Configure the mapping from the Logging levels to the syslog levels.
100
+ # This is needed in order to log events at the proper syslog level.
101
+ #
102
+ # Without any configuration, the following mapping will be used:
103
+ #
104
+ # :debug => 'debug'
105
+ # :info => 'info'
106
+ # :warn => 'warn'
107
+ # :error => 'err'
108
+ # :fatal => 'crit'
109
+ #
110
+ def map=( levels )
111
+ map = []
112
+ levels.keys.each do |lvl|
113
+ num = ::Logging.level_num(lvl)
114
+ map[num] = syslog_level_num(levels[lvl])
115
+ end
116
+ @map = map
117
+ end
118
+
119
+
120
+ private
121
+
122
+ # call-seq:
123
+ # write( event )
124
+ #
125
+ # Write the given _event_ to the syslog facility. The log event will be
126
+ # processed through the Layout associated with this appender. The message
127
+ # will be logged at the level specified by the event.
128
+ #
129
+ def write( event )
130
+ pri = SyslogProtocol::SEVERITIES['debug']
131
+ message = if event.instance_of?(::Logging::LogEvent)
132
+ pri = @map[event.level]
133
+ @layout.format(event)
134
+ else
135
+ event.to_s
136
+ end
137
+ return if message.empty?
138
+
139
+ udp_sender = RemoteSyslogLogger::UdpSender.new(
140
+ @syslog_server,
141
+ @port,
142
+ :facility => @facility,
143
+ :severity => pri,
144
+ :program => @ident
145
+ )
146
+
147
+ udp_sender.write(message)
148
+
149
+ self
150
+ end
151
+
152
+ # call-seq:
153
+ # syslog_level_num( level ) => integer
154
+ #
155
+ # Takes the given _level_ as a string, symbol, or integer and returns
156
+ # the corresponding syslog level number.
157
+ #
158
+ def syslog_level_num( level )
159
+ case level
160
+ when Integer; level
161
+ when String, Symbol
162
+ level = level.to_s.downcase
163
+ SyslogProtocol::SEVERITIES[level]
164
+ else
165
+ raise ArgumentError, "unknown level '#{level}'"
166
+ end
167
+ end
168
+
169
+ end # RemoteSyslog
170
+ end # Logging::Appenders
@@ -0,0 +1,22 @@
1
+ # Copyright (c) <2012> ['Amy Sutedja', 'Paul Morton']
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this
4
+ # software and associated documentation files (the "Software"), to deal in the Software
5
+ # without restriction, including without limitation the rights to use, copy, modify, merge,
6
+ # publish, distribute, sublicense, and/or sell copies of the Software, and to permit
7
+ # persons to whom the Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or
10
+ # substantial portions of the Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
+ # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14
+ # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
15
+ # FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
16
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
+
18
+ require "logging/appender"
19
+ require "syslog_protocol/common"
20
+ require "remote_syslog_logger/udp_sender"
21
+
22
+ require 'logging/appenders/remote-syslog'
@@ -0,0 +1,40 @@
1
+ # -*- encoding: utf-8 -*-
2
+ # Copyright (c) <2012> ['Amy Sutedja', 'Paul Morton']
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this
5
+ # software and associated documentation files (the "Software"), to deal in the Software
6
+ # without restriction, including without limitation the rights to use, copy, modify, merge,
7
+ # publish, distribute, sublicense, and/or sell copies of the Software, and to permit
8
+ # persons to whom the Software is furnished to do so, subject to the following conditions:
9
+ #
10
+ # The above copyright notice and this permission notice shall be included in all copies or
11
+ # substantial portions of the Software.
12
+ #
13
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
14
+ # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
15
+ # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
16
+ # FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
17
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ Gem::Specification.new do |gem|
20
+ gem.authors = ["Amy Sutedja", "Paul Morton"]
21
+ gem.email = ["asutedja@biaprotect.com", "pmorton@biaprotect.com"]
22
+ gem.description = "Remote syslog appender for Logging"
23
+ gem.summary = File.read('README.md')
24
+ gem.homepage = "https://github.com/BIAINC/logging-remote-syslog"
25
+
26
+ gem.files = `git ls-files`.split($\)
27
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
28
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
29
+ gem.name = "logging-remote-syslog"
30
+ gem.require_paths = ["lib"]
31
+ gem.version = File.read('./lib/logging/VERSION')
32
+ gem.license = 'MIT'
33
+
34
+ gem.add_runtime_dependency 'logging', '>= 1.7.2'
35
+ gem.add_runtime_dependency 'remote_syslog_logger', '>= 1.0.3'
36
+
37
+ gem.add_development_dependency 'rspec', '>= 2.10.0'
38
+ gem.add_development_dependency 'rake', '>= 0.9.2'
39
+ gem.add_development_dependency 'rr', '>= 1.0.4'
40
+ end
@@ -0,0 +1,58 @@
1
+ # Copyright (c) <2012> ['Amy Sutedja', 'Paul Morton']
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this
4
+ # software and associated documentation files (the "Software"), to deal in the Software
5
+ # without restriction, including without limitation the rights to use, copy, modify, merge,
6
+ # publish, distribute, sublicense, and/or sell copies of the Software, and to permit
7
+ # persons to whom the Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or
10
+ # substantial portions of the Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
+ # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14
+ # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
15
+ # FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
16
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
+
18
+ require 'spec_helper'
19
+
20
+ # Logging Logger
21
+ Logging.logger[::Logging].add_appenders(Logging.appenders.stdout)
22
+ Logging.logger[::Logging].level = :info
23
+
24
+ describe Logging::Appenders::RemoteSyslog do
25
+ it 'can be instantiated' do
26
+ Logging.appenders.remote_syslog('Test').should be_an_instance_of(Logging::Appenders::RemoteSyslog)
27
+ end
28
+
29
+ it 'can log' do
30
+ syslog_host = 'logs.papertrailapp.com'
31
+ syslog_port = 63961
32
+ ident = 'Test'
33
+ message = 'Test Message'
34
+ level = :info
35
+ facility = 'local6'
36
+
37
+ any_instance_of(RemoteSyslogLogger::UdpSender) do |s|
38
+ stub(s).initialize do |*args|
39
+ args[0].should == syslog_host
40
+ args[1].should == syslog_port
41
+ args[2][:facility].should == SyslogProtocol::FACILITIES[facility]
42
+ args[2][:severity].should == 'info'
43
+ args[2][:program].should == ident
44
+ end
45
+
46
+ stub(s).write do |*args|
47
+ args.first.should == " #{level.to_s.upcase} #{ident} : #{message}\n"
48
+ end
49
+ end
50
+
51
+ logger = Logging.logger['Test']
52
+ logger.add_appenders(
53
+ Logging.appenders.remote_syslog(ident, :syslog_server => syslog_host, :port => syslog_port, :facility => facility)
54
+ )
55
+ logger.level = level
56
+ logger.info("Test Message").should == true
57
+ end
58
+ end
@@ -0,0 +1,21 @@
1
+ # Copyright (c) <2012> ['Amy Sutedja', 'Paul Morton']
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this
4
+ # software and associated documentation files (the "Software"), to deal in the Software
5
+ # without restriction, including without limitation the rights to use, copy, modify, merge,
6
+ # publish, distribute, sublicense, and/or sell copies of the Software, and to permit
7
+ # persons to whom the Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or
10
+ # substantial portions of the Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
+ # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14
+ # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
15
+ # FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
16
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
+
18
+ Dir['./spec/support/**/*.rb'].map {|f| require f}
19
+
20
+ require 'logging'
21
+ require 'logging/remote-syslog'
@@ -0,0 +1,20 @@
1
+ # Copyright (c) <2012> ['Amy Sutedja', 'Paul Morton']
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this
4
+ # software and associated documentation files (the "Software"), to deal in the Software
5
+ # without restriction, including without limitation the rights to use, copy, modify, merge,
6
+ # publish, distribute, sublicense, and/or sell copies of the Software, and to permit
7
+ # persons to whom the Software is furnished to do so, subject to the following conditions:
8
+ #
9
+ # The above copyright notice and this permission notice shall be included in all copies or
10
+ # substantial portions of the Software.
11
+ #
12
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
13
+ # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
14
+ # PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
15
+ # FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
16
+ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
17
+
18
+ RSpec.configure do |configuration|
19
+ configuration.mock_with :rr
20
+ end
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: logging-remote-syslog
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Amy Sutedja
9
+ - Paul Morton
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2012-06-26 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: logging
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: 1.7.2
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: 1.7.2
31
+ - !ruby/object:Gem::Dependency
32
+ name: remote_syslog_logger
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: 1.0.3
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: 1.0.3
47
+ - !ruby/object:Gem::Dependency
48
+ name: rspec
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 2.10.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: 2.10.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: 0.9.2
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: 0.9.2
79
+ - !ruby/object:Gem::Dependency
80
+ name: rr
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: 1.0.4
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: 1.0.4
95
+ description: Remote syslog appender for Logging
96
+ email:
97
+ - asutedja@biaprotect.com
98
+ - pmorton@biaprotect.com
99
+ executables: []
100
+ extensions: []
101
+ extra_rdoc_files: []
102
+ files:
103
+ - .gitignore
104
+ - .rspec
105
+ - .travis.yml
106
+ - Gemfile
107
+ - README.md
108
+ - Rakefile
109
+ - lib/logging/VERSION
110
+ - lib/logging/appenders/remote-syslog.rb
111
+ - lib/logging/remote-syslog.rb
112
+ - logging-remote-syslog.gemspec
113
+ - spec/logging/appenders/remote_syslog_spec.rb
114
+ - spec/spec_helper.rb
115
+ - spec/support/rr.rb
116
+ homepage: https://github.com/BIAINC/logging-remote-syslog
117
+ licenses:
118
+ - MIT
119
+ post_install_message:
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ segments:
130
+ - 0
131
+ hash: 3243274781071415485
132
+ required_rubygems_version: !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ segments:
139
+ - 0
140
+ hash: 3243274781071415485
141
+ requirements: []
142
+ rubyforge_project:
143
+ rubygems_version: 1.8.24
144
+ signing_key:
145
+ specification_version: 3
146
+ summary: ! '# logging/remote-syslog logging/remote-syslog is a remote syslog appender
147
+ for use with the Logging library. ![Travis CI Status](https://secure.travis-ci.org/BIAINC/logging-remote-syslog.png) ##
148
+ Installation Add this line to your application''s Gemfile: ```bash gem ''logging-remote-syslog''
149
+ ``` And then execute: ```bash $ bundle ``` Or install it yourself as: ```bash
150
+ $ gem install logging-remote-syslog ``` ## Usage ``` require ''logging'' require
151
+ ''logging/remote-syslog'' logger = Logging.logger[''MyApp''] logger.add_appenders(
152
+ Logging.appenders.remote_syslog(ident, syslog_server: syslog_host, port: syslog_port)
153
+ ) logger.level = :info logger.info ''MyApp Message'' ``` ## Tests ``` rake ``` ##
154
+ Contributing 1. Fork it 2. Create your feature branch (`git checkout -b my-new-feature`)
155
+ 3. Write code and add _tests_ 4. Commit your changes (`git commit -am ''Added some
156
+ feature''`) 5. Push to the branch (`git push origin my-new-feature`) 6. Create new
157
+ Pull Request'
158
+ test_files:
159
+ - spec/logging/appenders/remote_syslog_spec.rb
160
+ - spec/spec_helper.rb
161
+ - spec/support/rr.rb