trinidad 0.9.9 → 0.9.10
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/lib/trinidad.rb +1 -1
- data/lib/trinidad/command_line_parser.rb +4 -0
- data/lib/trinidad/server.rb +38 -22
- data/lib/trinidad/web_app.rb +2 -1
- metadata +3 -3
data/lib/trinidad.rb
CHANGED
@@ -115,6 +115,10 @@ module Trinidad
|
|
115
115
|
default_options[:address] = v
|
116
116
|
end
|
117
117
|
|
118
|
+
opts.on('-g', '--log LEVEL', 'Log level', 'default: INFO') do |v|
|
119
|
+
default_options[:log] = v
|
120
|
+
end
|
121
|
+
|
118
122
|
opts.on('-v', '--version', 'display the current version') do
|
119
123
|
puts "trinidad #{Trinidad::VERSION} (tomcat #{Trinidad::TOMCAT_VERSION})"
|
120
124
|
exit
|
data/lib/trinidad/server.rb
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
module Trinidad
|
2
|
-
JSystem = java.lang.System
|
3
|
-
JContext = javax.naming.Context
|
4
2
|
|
5
3
|
class Server
|
6
4
|
attr_reader :tomcat, :config
|
@@ -15,7 +13,8 @@ module Trinidad
|
|
15
13
|
:port => 3000,
|
16
14
|
:jruby_min_runtimes => 1,
|
17
15
|
:jruby_max_runtimes => 5,
|
18
|
-
:address => 'localhost'
|
16
|
+
:address => 'localhost',
|
17
|
+
:log => 'INFO'
|
19
18
|
}
|
20
19
|
end
|
21
20
|
|
@@ -37,7 +36,7 @@ module Trinidad
|
|
37
36
|
@tomcat.port = @config[:port].to_i
|
38
37
|
@tomcat.base_dir = Dir.pwd
|
39
38
|
@tomcat.host.app_base = Dir.pwd
|
40
|
-
enable_naming
|
39
|
+
@tomcat.enable_naming
|
41
40
|
|
42
41
|
add_http_connector if http_configured?
|
43
42
|
add_ssl_connector if ssl_enabled?
|
@@ -55,6 +54,7 @@ module Trinidad
|
|
55
54
|
remove_defaults(app_context)
|
56
55
|
|
57
56
|
web_app = WebApp.create(@config, app_config)
|
57
|
+
configure_logging(web_app)
|
58
58
|
|
59
59
|
Trinidad::Extensions.configure_webapp_extensions(web_app.extensions, @tomcat, app_context)
|
60
60
|
app_context.add_lifecycle_listener(WebAppLifecycleListener.new(web_app))
|
@@ -155,7 +155,8 @@ module Trinidad
|
|
155
155
|
unless (config.has_key?(:web_apps))
|
156
156
|
default_app = {
|
157
157
|
:context_path => config[:context_path] || '/',
|
158
|
-
:web_app_dir => config[:web_app_dir] || Dir.pwd
|
158
|
+
:web_app_dir => config[:web_app_dir] || Dir.pwd,
|
159
|
+
:log => config[:log]
|
159
160
|
}
|
160
161
|
default_app[:rackup] = config[:rackup] if (config.has_key?(:rackup))
|
161
162
|
|
@@ -163,23 +164,6 @@ module Trinidad
|
|
163
164
|
end
|
164
165
|
end
|
165
166
|
|
166
|
-
def enable_naming
|
167
|
-
@tomcat.server.add_lifecycle_listener(Trinidad::Tomcat::NamingContextListener.new)
|
168
|
-
|
169
|
-
JSystem.set_property("catalina.useNaming", "true")
|
170
|
-
|
171
|
-
value = "org.apache.naming"
|
172
|
-
old_value = JSystem.get_property(JContext::URL_PKG_PREFIXES) || value
|
173
|
-
|
174
|
-
value = value + ":" + old_value unless old_value.include?(value)
|
175
|
-
JSystem.set_property(JContext::URL_PKG_PREFIXES, value)
|
176
|
-
|
177
|
-
value = JSystem.get_property(JContext::INITIAL_CONTEXT_FACTORY)
|
178
|
-
unless value
|
179
|
-
JSystem.set_property(JContext::INITIAL_CONTEXT_FACTORY, "org.apache.naming.java.javaURLContextFactory")
|
180
|
-
end
|
181
|
-
end
|
182
|
-
|
183
167
|
def remove_defaults(app_context)
|
184
168
|
default_servlet = app_context.find_child('default')
|
185
169
|
app_context.remove_child(default_servlet) if default_servlet
|
@@ -193,5 +177,37 @@ module Trinidad
|
|
193
177
|
|
194
178
|
app_context.process_tlds = false
|
195
179
|
end
|
180
|
+
|
181
|
+
def configure_logging(web_app)
|
182
|
+
log_path = File.join(web_app.web_app_dir, 'log', "#{web_app.environment}.log")
|
183
|
+
log_file = java.io.File.new(log_path)
|
184
|
+
|
185
|
+
unless log_file.exists
|
186
|
+
log_file.parent_file.mkdirs
|
187
|
+
log_file.create_new_file
|
188
|
+
end
|
189
|
+
|
190
|
+
jlogging = java.util.logging
|
191
|
+
|
192
|
+
log_handler = jlogging.FileHandler.new(log_path, true)
|
193
|
+
logger = jlogging.Logger.get_logger("")
|
194
|
+
|
195
|
+
log_level = web_app.log
|
196
|
+
unless %w{ALL CONFIG FINE FINER FINEST INFO OFF SEVERE WARNING}.include?(log_level)
|
197
|
+
puts "Invalid log level #{log_level}, using default: INFO"
|
198
|
+
log_level = 'INFO'
|
199
|
+
end
|
200
|
+
|
201
|
+
level = jlogging.Level.parse(log_level)
|
202
|
+
|
203
|
+
logger.handlers.each do |handler|
|
204
|
+
handler.level = level
|
205
|
+
end
|
206
|
+
|
207
|
+
logger.level = level
|
208
|
+
|
209
|
+
log_handler.formatter = jlogging.SimpleFormatter.new
|
210
|
+
logger.add_handler(log_handler)
|
211
|
+
end
|
196
212
|
end
|
197
213
|
end
|
data/lib/trinidad/web_app.rb
CHANGED
@@ -48,7 +48,8 @@ module Trinidad
|
|
48
48
|
@app_config[:public] || @config[:public] || 'public'
|
49
49
|
end
|
50
50
|
|
51
|
-
%w{web_app_dir libs_dir classes_dir default_web_xml environment
|
51
|
+
%w{web_app_dir libs_dir classes_dir default_web_xml environment
|
52
|
+
jruby_min_runtimes jruby_max_runtimes rackup log}.each do |method_name|
|
52
53
|
define_method method_name do
|
53
54
|
sym = method_name.to_sym
|
54
55
|
@app_config[sym] || @config[sym]
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 9
|
8
|
-
-
|
9
|
-
version: 0.9.
|
8
|
+
- 10
|
9
|
+
version: 0.9.10
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- David Calavera
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-10-02 00:00:00 -04:00
|
18
18
|
default_executable: trinidad
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|