]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3590 Log all Rails warnings & errors in "sonar.log" file
authorFabrice Bellingard <bellingard@gmail.com>
Fri, 6 Jul 2012 15:27:59 +0000 (17:27 +0200)
committerFabrice Bellingard <bellingard@gmail.com>
Fri, 6 Jul 2012 15:31:21 +0000 (17:31 +0200)
=> Initial issue: when an exception is raised in a ruby widget, the
   error stack trace is not logged in the sonar.log file

sonar-application/src/main/assembly/conf/logback.xml
sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb
sonar-server/src/main/webapp/WEB-INF/app/views/widget/index.html.erb

index a380678fc9d8fb4e762c2a541356589e2c0cea37..1c36ddc015ab733069e770a4e000dd1c59b862f5 100644 (file)
     </encoder>
   </appender>
 
-  <!--
-   Profiling of HTTP requests. Set level to DEBUG in order to log all the HTTP and SQL requests.
-   Example of command-line to get the HTTP requests with execution time greater than 10s :
-   grep 'rails  Completed in [0-9]\{5,\}ms' < profiling.log
-  -->
+  <!-- Display Rails warnings and errors in the standard Sonar log -->
   <logger name="rails" additivity="false">
     <level value="WARN"/>
+    <appender-ref ref="SONAR_FILE"/>
+  </logger>
+  <!--
+   Profiling of HTTP and SQL requests in Rails:
+   
+  <logger name="rails" additivity="false">
+    <level value="DEBUG"/>
     <appender-ref ref="PROFILING_FILE"/>
   </logger>
-
+  
+   Example of command-line to get the HTTP requests with execution time greater than 10s :
+   grep 'rails  Completed in [0-9]\{5,\}ms' < profiling.log
+  -->
 
   <logger name="org.hibernate.cache.ReadWriteCache">
     <!-- removing "An item was expired by the cache while it was locked (increase your cache timeout)" msg -->
index 1dc049c3569b8032d7c768c54fca08c33f13b309..efc56ebae2655415a88d5eabe36a07b2895c9b7b 100644 (file)
@@ -122,7 +122,7 @@ module DashboardHelper
         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]))
-        logger.error(error.backtrace.join('\n'))
+        error.backtrace.each { |line| logger.error('  ' + line) }
       end
     end
 
index d73c740127e9a845e3004a8a30d594e9b509b713..ffbf6fdc01f1050a6617c29f35060b2c2e8ad607 100644 (file)
@@ -5,7 +5,7 @@
          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]))
-         logger.error(error.backtrace.join("\n"))
+         error.backtrace.each { |line| logger.error('  ' + line) }
          widget_body=""
        end