From 2351d69d0f72e566bfa0b99450e0ed7bced090ae Mon Sep 17 00:00:00 2001 From: Fabrice Bellingard Date: Fri, 6 Jul 2012 18:39:00 +0200 Subject: [PATCH] SONAR-3590 Centralize backtrace logging in the Slf4jLogger class --- .../src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb | 3 +-- .../src/main/webapp/WEB-INF/app/views/widget/index.html.erb | 3 +-- sonar-server/src/main/webapp/WEB-INF/lib/slf4j_logger.rb | 6 ++++++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb b/sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb index efc56ebae26..c46fa0cb7b6 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb @@ -121,8 +121,7 @@ module DashboardHelper begin widget_body=render :inline => widget.java_definition.getTarget().getTemplate(), :locals => {:widget_properties => widget.properties_as_hash, :widget => widget, :dashboard_configuration => @dashboard_configuration} rescue => error - logger.error(message('dashboard.cannot_render_widget_x', :params => [widget.java_definition.getId(), error])) - error.backtrace.each { |line| logger.error(' ' + line) } + logger.error(message('dashboard.cannot_render_widget_x', :params => [widget.java_definition.getId(), error]), error) end end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/widget/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/widget/index.html.erb index ffbf6fdc01f..04ff9d1a63c 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/widget/index.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/widget/index.html.erb @@ -4,8 +4,7 @@ begin widget_body=render :inline => @widget_definition.getTarget().getTemplate(), :locals => {:widget_properties => @widget.properties_as_hash, :widget => @widget, :dashboard_configuration => @dashboard_configuration} rescue => error - logger.error(message('dashboard.cannot_render_widget_x', :params => [@widget_definition.getId(), error])) - error.backtrace.each { |line| logger.error(' ' + line) } + logger.error(message('dashboard.cannot_render_widget_x', :params => [@widget_definition.getId(), error]), error) widget_body="" end diff --git a/sonar-server/src/main/webapp/WEB-INF/lib/slf4j_logger.rb b/sonar-server/src/main/webapp/WEB-INF/lib/slf4j_logger.rb index 4907abe64bf..afdb99cebae 100644 --- a/sonar-server/src/main/webapp/WEB-INF/lib/slf4j_logger.rb +++ b/sonar-server/src/main/webapp/WEB-INF/lib/slf4j_logger.rb @@ -30,6 +30,7 @@ require 'java' # - logger key is 'rails' # - silence is not implemented # - level FATAL does not exist in SLF4J. It's linked to ERROR level. +# - progname is an excpetion # class Slf4jLogger def initialize(logger_name='rails') @@ -65,22 +66,27 @@ class Slf4jLogger def debug(message = nil, progname = nil, &block) @logger.debug(full_message(message, &block)) + progname.backtrace.each { |line| @logger.debug(' ' + line) } if progname end def info(message = nil, progname = nil, &block) @logger.info(full_message(message, &block)) + progname.backtrace.each { |line| @logger.info(' ' + line) } if progname end def warn(message = nil, progname = nil, &block) @logger.warn(full_message(message, &block)) + progname.backtrace.each { |line| @logger.warn(' ' + line) } if progname end def error(message = nil, progname = nil, &block) @logger.error(full_message(message, &block)) + progname.backtrace.each { |line| @logger.error(' ' + line) } if progname end def fatal(message = nil, progname = nil, &block) @logger.error(full_message(message, &block)) + progname.backtrace.each { |line| @logger.error(' ' + line) } if progname end def flush -- 2.39.5