15954: Send rails logs to stdout when running in test mode.
authorTom Clegg <tom@tomclegg.ca>
Thu, 20 Feb 2020 15:25:54 +0000 (10:25 -0500)
committerTom Clegg <tom@tomclegg.ca>
Thu, 20 Feb 2020 19:25:04 +0000 (14:25 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>

apps/workbench/config/application.rb
sdk/python/tests/run_test_server.py
services/api/config/application.rb

index 514d57196d3fcc802dbc83a640907bbf166ceb76..2d331c70ad3a13941f933ab09b054fcdf4cd504e 100644 (file)
@@ -19,6 +19,10 @@ require "rails/test_unit/railtie"
 
 Bundler.require(:default, Rails.env)
 
+if Rails.env == 'test'
+  Rails.logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
+end
+
 module ArvadosWorkbench
   class Application < Rails::Application
 
index 147a2642661e58d63fa8f3eefdc1bdd3c64b2ffb..5b75de08fef9afaf9ea83188579b112ca6e2ca27 100644 (file)
@@ -326,15 +326,16 @@ def run(leave_running_atexit=False):
     env.pop('ARVADOS_API_HOST', None)
     env.pop('ARVADOS_API_HOST_INSECURE', None)
     env.pop('ARVADOS_API_TOKEN', None)
+    logf = open(_logfilename('railsapi'), 'a')
     start_msg = subprocess.check_output(
         ['bundle', 'exec',
          'passenger', 'start', '-d', '-p{}'.format(port),
          '--pid-file', pid_file,
-         '--log-file', os.path.join(os.getcwd(), 'log/test.log'),
+         '--log-file', '/dev/stdout',
          '--ssl',
          '--ssl-certificate', 'tmp/self-signed.pem',
          '--ssl-certificate-key', 'tmp/self-signed.key'],
-        env=env)
+        env=env, stdin=open('/dev/null'), stdout=logf, stderr=logf)
 
     if not leave_running_atexit:
         atexit.register(kill_server_pid, pid_file, passenger_root=api_src_dir)
index f211ec9e0cde5c67160bda1bde97e20cdb7861a8..7901a7fd83897e2b6b5750cdb4f9e83337afb83f 100644 (file)
@@ -40,6 +40,10 @@ if defined?(Bundler)
   end
 end
 
+if Rails.env == 'test'
+  Rails.logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT))
+end
+
 module Server
   class Application < Rails::Application
     # The following is to avoid SafeYAML's warning message