Skip to content

Commit d6c19f8

Browse files
committed
Merge branch 'log-file'
2 parents 834926b + e2e0c53 commit d6c19f8

File tree

5 files changed

+29
-14
lines changed

5 files changed

+29
-14
lines changed

config/logging.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,5 @@
1515

1616
# Logging configuration
1717
---
18-
default_log_level: INFO
18+
default_log_level: INFO
19+
enable_log_file: false

lib/java_buildpack/logging/logger_factory.rb

+11-7
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,13 @@ def initialize
4646
# @return [Void]
4747
def setup(app_dir)
4848
@monitor.synchronize do
49-
@log_file = app_dir + '.java-buildpack.log'
50-
@delegates = [file_logger, console_logger]
49+
configuration = JavaBuildpack::Util::ConfigurationUtils.load('logging', true, false)
50+
51+
@log_file = app_dir + '.java-buildpack.log'
52+
53+
@delegates = [console_logger(configuration)]
54+
@delegates << file_logger if configuration['enable_log_file']
55+
5156
@initialized = true
5257
end
5358
end
@@ -100,9 +105,9 @@ def get_logger(klass)
100105

101106
private
102107

103-
def console_logger
108+
def console_logger(configuration)
104109
logger = Logger.new($stderr)
105-
logger.level = severity
110+
logger.level = severity(configuration)
106111
logger.formatter = lambda do |severity, _datetime, klass, message|
107112
"#{klass.ljust(32)} #{severity.ljust(5)} #{message}\n"
108113
end
@@ -126,11 +131,10 @@ def ruby_mode
126131
$VERBOSE || $DEBUG ? 'DEBUG' : nil
127132
end
128133

129-
def severity
134+
def severity(configuration)
130135
severity = ENV['JBP_LOG_LEVEL']
131136
severity = ruby_mode unless severity
132-
severity =
133-
JavaBuildpack::Util::ConfigurationUtils.load('logging', true, false)['default_log_level'] unless severity
137+
severity = configuration['default_log_level'] unless severity
134138
severity = 'INFO' unless severity
135139

136140
"::Logger::Severity::#{severity.upcase}".constantize

spec/java_buildpack/logging/logger_factory_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
end
3232

3333
it 'logs all levels to file',
34-
log_level: 'FATAL' do
34+
:enable_log_file, log_level: 'FATAL' do
3535

3636
trigger
3737

spec/java_buildpack/util/cache/internet_availability_spec.rb

+6-2
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,18 @@
4141
end
4242
end
4343

44-
it 'records availability' do
44+
it 'records availability',
45+
:enable_log_file do
46+
4547
described_class.instance.available false
4648

4749
expect(described_class.instance.available?).not_to be
4850
expect(log_contents).not_to match(/Internet availability set to false/)
4951
end
5052

51-
it 'records availability with message' do
53+
it 'records availability with message',
54+
:enable_log_file do
55+
5256
described_class.instance.available false, 'test message'
5357

5458
expect(described_class.instance.available?).not_to be

spec/logging_helper.rb

+9-3
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@
1919
require 'console_helper'
2020
require 'fileutils'
2121
require 'java_buildpack/logging/logger_factory'
22+
require 'yaml'
2223

2324
shared_context 'logging_helper' do
2425
include_context 'console_helper'
2526
include_context 'application_helper'
2627

28+
previous_log_config = ENV['JBP_CONFIG_LOGGING']
2729
previous_log_level = ENV['JBP_LOG_LEVEL']
2830
previous_debug_level = $DEBUG
2931
previous_verbose_level = $VERBOSE
@@ -34,6 +36,9 @@
3436
log_level = example.metadata[:log_level]
3537
ENV['JBP_LOG_LEVEL'] = log_level if log_level
3638

39+
enable_log_file = example.metadata[:enable_log_file]
40+
ENV['JBP_CONFIG_LOGGING'] = { 'enable_log_file' => true }.to_yaml if enable_log_file
41+
3742
$DEBUG = example.metadata[:debug]
3843
$VERBOSE = example.metadata[:verbose]
3944

@@ -43,9 +48,10 @@
4348
after do
4449
JavaBuildpack::Logging::LoggerFactory.instance.reset
4550

46-
ENV['JBP_LOG_LEVEL'] = previous_log_level
47-
$VERBOSE = previous_verbose_level
48-
$DEBUG = previous_debug_level
51+
ENV['JBP_CONFIG_LOGGING'] = previous_log_config
52+
ENV['JBP_LOG_LEVEL'] = previous_log_level
53+
$VERBOSE = previous_verbose_level
54+
$DEBUG = previous_debug_level
4955
end
5056

5157
end

0 commit comments

Comments
 (0)