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 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
@@ -0,0 +1,3 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec
data/Jarfile ADDED
@@ -0,0 +1,2 @@
1
+ jar 'com.ning.billing:killbill-api', '0.1.48'
2
+ jar 'com.ning.billing:killbill-util:tests', '0.1.48'
data/README.md ADDED
@@ -0,0 +1,4 @@
1
+ killbill-logging-plugin
2
+ =======================
3
+
4
+ Plugin to log Killbill events
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
@@ -0,0 +1,2 @@
1
+ mainClass=Klogger::KloggerPlugin
2
+ pluginType=NOTIFICATION
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
@@ -0,0 +1,10 @@
1
+ require 'bundler'
2
+ require 'klogger'
3
+
4
+ require 'rspec'
5
+
6
+ RSpec.configure do |config|
7
+ config.color_enabled = true
8
+ config.tty = true
9
+ config.formatter = 'documentation'
10
+ end
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