Skip to content

Commit 609293f

Browse files
authored
Merge pull request #312 from rock-core/logging_app_name_flag
2 parents 4222d85 + b994324 commit 609293f

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

lib/roby/app.rb

+5-1
Original file line numberDiff line numberDiff line change
@@ -1492,7 +1492,11 @@ def log_base_dir
14921492
if @log_base_dir ||= log["dir"]
14931493
@log_base_dir
14941494
elsif (global_base_dir = ENV["ROBY_BASE_LOG_DIR"])
1495-
File.join(global_base_dir, app_name)
1495+
if ENV["ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR"] != "0"
1496+
File.join(global_base_dir, app_name)
1497+
else
1498+
global_base_dir
1499+
end
14961500
else
14971501
"logs"
14981502
end

test/test_app.rb

+52
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,58 @@ def initialize(formatter)
138138
end
139139
end
140140

141+
describe "#log_base_dir" do
142+
before do
143+
ENV.delete("ROBY_BASE_LOG_DIR")
144+
ENV.delete("ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR")
145+
app.log.delete("dir")
146+
end
147+
after do
148+
ENV.delete("ROBY_APP_DIR")
149+
ENV.delete("ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR")
150+
end
151+
it "it uses log[dir] when no ENV variable is set and log is set" do
152+
app.log["dir"] = "strawberry"
153+
log_base_dir = app.log_base_dir
154+
155+
assert_equal(File.join(app_dir, "strawberry"), log_base_dir)
156+
end
157+
it "it uses ROBY_BASE_LOG_DIR with app name if no "\
158+
"ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR is set" do
159+
ENV["ROBY_BASE_LOG_DIR"] = "pineaple"
160+
log_base_dir = app.log_base_dir
161+
162+
expected_no_app_base_dir = File.join(app_dir, "pineaple")
163+
expected_base_dir = File.join(expected_no_app_base_dir, app.app_name)
164+
assert_equal(expected_base_dir, log_base_dir)
165+
end
166+
it "it uses ROBY_BASE_LOG_DIR with app name if "\
167+
"ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR is set to true" do
168+
ENV["ROBY_BASE_LOG_DIR"] = "banana"
169+
ENV["ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR"] = "1"
170+
log_base_dir = app.log_base_dir
171+
172+
expected_no_app_base_dir = File.join(app_dir, "banana")
173+
expected_base_dir = File.join(expected_no_app_base_dir, app.app_name)
174+
assert_equal(expected_base_dir, log_base_dir)
175+
end
176+
it "it uses ROBY_BASE_LOG_DIR without app name if "\
177+
"ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR is set to false" do
178+
ENV["ROBY_BASE_LOG_DIR"] = "coconut"
179+
ENV["ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR"] = "0"
180+
log_base_dir = app.log_base_dir
181+
182+
expected_no_app_base_dir = File.join(app_dir, "coconut")
183+
assert_equal(expected_no_app_base_dir, log_base_dir)
184+
end
185+
it "if nothing is set, it defaults to logs as base logs dir" do
186+
log_base_dir = app.log_base_dir
187+
188+
expected_no_app_base_dir = File.join(app_dir, "logs")
189+
assert_equal(expected_no_app_base_dir, log_base_dir)
190+
end
191+
end
192+
141193
describe "#find_and_create_log_dir" do
142194
before do
143195
app.log_base_dir = File.join(make_tmpdir, "log", "path")

0 commit comments

Comments
 (0)