trinidad 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,9 @@
1
+ == Trinidad 1.2.2 (2011-07-12)
2
+
3
+ * Better log formatter
4
+ * Allow to use an ERB template as configuration file
5
+ * Fix trinidad_init_services compatibility issues
6
+
1
7
  == Trinidad 1.2.1 (2011-06-15)
2
8
 
3
9
  * Allow to specify the monitor file from the command line
@@ -11,6 +11,7 @@ require 'trinidad/extensions'
11
11
  require 'trinidad/command_line_parser'
12
12
  require 'trinidad/jars'
13
13
  require 'trinidad/server'
14
+ require 'trinidad/log_formatter'
14
15
  require 'trinidad/lifecycle/takeover'
15
16
  require 'trinidad/lifecycle/lifecycle_listener_host'
16
17
  require 'trinidad/lifecycle/lifecycle_listener_base'
@@ -22,5 +23,5 @@ require 'trinidad/rackup_web_app'
22
23
  require 'trinidad/war_web_app'
23
24
 
24
25
  module Trinidad
25
- VERSION = '1.2.1'
26
+ VERSION = '1.2.2'
26
27
  end
@@ -31,10 +31,11 @@ module Trinidad
31
31
 
32
32
  if default_options.has_key?(:config)
33
33
  require 'yaml'
34
+ require 'erb'
34
35
  default_options[:config] = File.expand_path(default_options[:config], default_options[:web_app_dir] || Dir.pwd)
35
36
 
36
37
  if File.exist?(default_options[:config])
37
- config_options = YAML.load_file(default_options[:config])
38
+ config_options = YAML.load(ERB.new(File.read(default_options[:config])).result(binding))
38
39
  default_options.deep_merge!(config_options.symbolize!)
39
40
  end
40
41
  end
@@ -60,15 +60,15 @@ module Trinidad
60
60
 
61
61
  level = jlogging.Level.parse(log_level)
62
62
 
63
+ logger.add_handler(log_handler)
64
+
63
65
  logger.handlers.each do |handler|
64
66
  handler.level = level
67
+ handler.formatter = Trinidad::LogFormatter.new
65
68
  end
66
69
 
67
70
  logger.level = level
68
71
 
69
- log_handler.formatter = jlogging.SimpleFormatter.new
70
- logger.add_handler(log_handler)
71
-
72
72
  @configured_logger = true
73
73
  end
74
74
  end
@@ -0,0 +1,15 @@
1
+ module Trinidad
2
+ class LogFormatter < Java::JavaUtilLogging::Formatter
3
+ def initialize format = "yyyy-MM-dd HH:mm:ss"
4
+ @format = Java::JavaText::SimpleDateFormat.new format
5
+ end
6
+
7
+ def format(record)
8
+ timestamp = @format.format(Java::JavaUtil::Date.new record.millis)
9
+ level = record.level.name
10
+ message = record.message.chomp
11
+
12
+ "#{timestamp} #{level}: #{message}\n"
13
+ end
14
+ end
15
+ end
@@ -14,7 +14,8 @@ module Trinidad
14
14
  :jruby_min_runtimes => 1,
15
15
  :jruby_max_runtimes => 5,
16
16
  :address => 'localhost',
17
- :log => 'INFO'
17
+ :log => 'INFO',
18
+ :trap => true
18
19
  }
19
20
  end
20
21
 
@@ -190,12 +191,17 @@ module Trinidad
190
191
  end
191
192
 
192
193
  def start
193
- trap_signals(@tomcat)
194
+ trap_signals if @config[:trap]
194
195
 
195
196
  @tomcat.start
196
197
  @tomcat.server.await
197
198
  end
198
199
 
200
+ def stop
201
+ @tomcat.stop
202
+ @tomcat.destroy
203
+ end
204
+
199
205
  private
200
206
 
201
207
  def add_default_web_app!(config)
@@ -211,9 +217,9 @@ module Trinidad
211
217
  end
212
218
  end
213
219
 
214
- def trap_signals(tomcat)
215
- trap('INT') { tomcat.stop }
216
- trap('TERM') { tomcat.stop }
220
+ def trap_signals
221
+ trap('INT') { stop }
222
+ trap('TERM') { stop }
217
223
  end
218
224
  end
219
225
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: trinidad
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 1.2.1
5
+ version: 1.2.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - David Calavera
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-06-15 00:00:00 +02:00
13
+ date: 2011-07-12 00:00:00 +02:00
14
14
  default_executable: trinidad
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -86,6 +86,7 @@ files:
86
86
  - lib/trinidad/command_line_parser.rb
87
87
  - lib/trinidad/core_ext.rb
88
88
  - lib/trinidad/extensions.rb
89
+ - lib/trinidad/log_formatter.rb
89
90
  - lib/trinidad/rackup_web_app.rb
90
91
  - lib/trinidad/rails_web_app.rb
91
92
  - lib/trinidad/server.rb