klogger 1.0.0
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/.gitignore +28 -0
- data/Gemfile +3 -0
- data/Jarfile +2 -0
- data/README.md +4 -0
- data/Rakefile +17 -0
- data/VERSION +1 -0
- data/killbill.properties +2 -0
- data/klogger.gemspec +31 -0
- data/lib/klogger.rb +58 -0
- data/spec/spec_helper.rb +10 -0
- metadata +147 -0
data/.gitignore
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
coverage
|
6
|
+
InstalledFiles
|
7
|
+
lib/bundler/man
|
8
|
+
pkg
|
9
|
+
rdoc
|
10
|
+
spec/reports
|
11
|
+
test/tmp
|
12
|
+
test/version_tmp
|
13
|
+
tmp
|
14
|
+
|
15
|
+
# YARD artifacts
|
16
|
+
.yardoc
|
17
|
+
_yardoc
|
18
|
+
doc/
|
19
|
+
|
20
|
+
.jbundler
|
21
|
+
Jarfile.lock
|
22
|
+
Gemfile.lock
|
23
|
+
|
24
|
+
# Build directory
|
25
|
+
klogger/
|
26
|
+
|
27
|
+
# Config file
|
28
|
+
klogger.yml
|
data/Gemfile
ADDED
data/Jarfile
ADDED
data/README.md
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
|
3
|
+
# Install tasks to build and release the plugin
|
4
|
+
require 'bundler/setup'
|
5
|
+
Bundler::GemHelper.install_tasks
|
6
|
+
|
7
|
+
# Install test tasks
|
8
|
+
require 'rspec/core/rake_task'
|
9
|
+
desc "Run RSpec"
|
10
|
+
RSpec::Core::RakeTask.new
|
11
|
+
|
12
|
+
# Install tasks to package the plugin for Killbill
|
13
|
+
require 'killbill/rake_task'
|
14
|
+
Killbill::PluginHelper.install_tasks
|
15
|
+
|
16
|
+
# Run tests by default
|
17
|
+
task :default => :spec
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.0.0
|
data/killbill.properties
ADDED
data/klogger.gemspec
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
version = File.read(File.expand_path('../VERSION', __FILE__)).strip
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = 'klogger'
|
5
|
+
s.version = version
|
6
|
+
s.summary = 'Plugin to log Killbill events.'
|
7
|
+
s.description = 'Log all events generated by Killbill.'
|
8
|
+
|
9
|
+
s.required_ruby_version = '>= 1.9.3'
|
10
|
+
|
11
|
+
s.license = 'Apache License (2.0)'
|
12
|
+
|
13
|
+
s.author = 'Killbill core team'
|
14
|
+
s.email = 'killbilling-users@googlegroups.com'
|
15
|
+
s.homepage = 'http://www.killbilling.org'
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.bindir = 'bin'
|
20
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
21
|
+
s.require_paths = ["lib"]
|
22
|
+
|
23
|
+
s.rdoc_options << '--exclude' << '.'
|
24
|
+
|
25
|
+
s.add_dependency 'killbill', '~> 1.0.0'
|
26
|
+
s.add_dependency 'cinch', '~> 2.0.3'
|
27
|
+
|
28
|
+
s.add_development_dependency 'jbundler', '~> 0.4.1'
|
29
|
+
s.add_development_dependency 'rake', '>= 10.0.0'
|
30
|
+
s.add_development_dependency 'rspec', '~> 2.12.0'
|
31
|
+
end
|
data/lib/klogger.rb
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'logger'
|
2
|
+
require 'psych'
|
3
|
+
|
4
|
+
require 'killbill'
|
5
|
+
|
6
|
+
require 'klogger/base'
|
7
|
+
require 'klogger/irc'
|
8
|
+
require 'klogger/syslog'
|
9
|
+
|
10
|
+
MODULES = {
|
11
|
+
:irc => Klogger::IRC,
|
12
|
+
:syslog => Klogger::Syslog
|
13
|
+
}
|
14
|
+
|
15
|
+
ENABLED_MODULES = []
|
16
|
+
|
17
|
+
LOG = Logger.new(STDOUT)
|
18
|
+
LOG.level = Logger::INFO
|
19
|
+
|
20
|
+
# Parse the config file
|
21
|
+
begin
|
22
|
+
CONFIG = Psych.load_file('klogger.yml')
|
23
|
+
rescue Errno::ENOENT
|
24
|
+
LOG.warn 'Unable to find the config file klogger.yml'
|
25
|
+
CONFIG = {}
|
26
|
+
end
|
27
|
+
|
28
|
+
# Instantiate each module
|
29
|
+
CONFIG.each do |kmodule, config|
|
30
|
+
next unless config['enabled']
|
31
|
+
|
32
|
+
module_klass = MODULES[kmodule.to_sym]
|
33
|
+
next unless module_klass
|
34
|
+
|
35
|
+
LOG.info "Module #{module_klass} enabled"
|
36
|
+
ENABLED_MODULES << module_klass.send('new', config)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Killbill plugin, which dispatches to all klogger modules
|
40
|
+
module Klogger
|
41
|
+
class KloggerPlugin < Killbill::Plugin::Notification
|
42
|
+
|
43
|
+
def start_plugin
|
44
|
+
ENABLED_MODULES.each { |m| m.start_plugin rescue nil }
|
45
|
+
super
|
46
|
+
end
|
47
|
+
|
48
|
+
def on_event(event)
|
49
|
+
ENABLED_MODULES.each { |m| m.on_event(event) rescue nil }
|
50
|
+
end
|
51
|
+
|
52
|
+
def stop_plugin
|
53
|
+
super
|
54
|
+
ENABLED_MODULES.each { |m| m.stop_plugin rescue nil }
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,147 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: klogger
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 1.0.0
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Killbill core team
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-01-30 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: killbill
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - ~>
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.0.0
|
21
|
+
none: false
|
22
|
+
requirement: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.0.0
|
27
|
+
none: false
|
28
|
+
prerelease: false
|
29
|
+
type: :runtime
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: cinch
|
32
|
+
version_requirements: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - ~>
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: 2.0.3
|
37
|
+
none: false
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ~>
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 2.0.3
|
43
|
+
none: false
|
44
|
+
prerelease: false
|
45
|
+
type: :runtime
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: jbundler
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ~>
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.4.1
|
53
|
+
none: false
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - ~>
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: 0.4.1
|
59
|
+
none: false
|
60
|
+
prerelease: false
|
61
|
+
type: :development
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rake
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 10.0.0
|
69
|
+
none: false
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ! '>='
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 10.0.0
|
75
|
+
none: false
|
76
|
+
prerelease: false
|
77
|
+
type: :development
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rspec
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ~>
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 2.12.0
|
85
|
+
none: false
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ~>
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: 2.12.0
|
91
|
+
none: false
|
92
|
+
prerelease: false
|
93
|
+
type: :development
|
94
|
+
description: Log all events generated by Killbill.
|
95
|
+
email: killbilling-users@googlegroups.com
|
96
|
+
executables: []
|
97
|
+
extensions: []
|
98
|
+
extra_rdoc_files: []
|
99
|
+
files:
|
100
|
+
- .gitignore
|
101
|
+
- Gemfile
|
102
|
+
- Jarfile
|
103
|
+
- README.md
|
104
|
+
- Rakefile
|
105
|
+
- VERSION
|
106
|
+
- killbill.properties
|
107
|
+
- klogger.gemspec
|
108
|
+
- lib/klogger.rb
|
109
|
+
- lib/klogger/base.rb
|
110
|
+
- lib/klogger/irc.rb
|
111
|
+
- lib/klogger/syslog.rb
|
112
|
+
- spec/klogger/integration_spec.rb
|
113
|
+
- spec/spec_helper.rb
|
114
|
+
homepage: http://www.killbilling.org
|
115
|
+
licenses:
|
116
|
+
- Apache License (2.0)
|
117
|
+
post_install_message:
|
118
|
+
rdoc_options:
|
119
|
+
- --exclude
|
120
|
+
- .
|
121
|
+
require_paths:
|
122
|
+
- lib
|
123
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - ! '>='
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 1.9.3
|
128
|
+
none: false
|
129
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
hash: 2
|
136
|
+
version: !binary |-
|
137
|
+
MA==
|
138
|
+
none: false
|
139
|
+
requirements: []
|
140
|
+
rubyforge_project:
|
141
|
+
rubygems_version: 1.8.24
|
142
|
+
signing_key:
|
143
|
+
specification_version: 3
|
144
|
+
summary: Plugin to log Killbill events.
|
145
|
+
test_files:
|
146
|
+
- spec/klogger/integration_spec.rb
|
147
|
+
- spec/spec_helper.rb
|