OSDN Git Service

Application logger
authorrandx <dmitriy.zaporozhets@gmail.com>
Tue, 11 Sep 2012 20:24:53 +0000 (23:24 +0300)
committerrandx <dmitriy.zaporozhets@gmail.com>
Tue, 11 Sep 2012 20:24:53 +0000 (23:24 +0300)
app/assets/javascripts/admin.js.coffee
app/assets/javascripts/application.js
app/assets/stylesheets/sections/nav.scss
app/observers/project_observer.rb
app/observers/user_observer.rb
app/views/admin/logs/show.html.haml
lib/gitlab/app_logger.rb [new file with mode: 0644]
lib/gitlab/backend/gitolite_config.rb
lib/gitlab/git_logger.rb [new file with mode: 0644]
lib/gitlab/logger.rb

index 269a7a7..76454c2 100644 (file)
@@ -6,3 +6,7 @@ $ ->
       elems.val('').attr 'disabled', true
     else
       elems.removeAttr 'disabled'
+
+  $('.log-tabs a').click (e) ->
+    e.preventDefault()
+    $(this).tab('show')
index 4c487ec..f9fdb0f 100644 (file)
@@ -11,7 +11,7 @@
 //= require jquery.endless-scroll
 //= require jquery.highlight
 //= require jquery.waitforimages
-//= require bootstrap-modal
+//= require bootstrap
 //= require modernizr
 //= require chosen-jquery
 //= require raphael
index 6f6a0e8..2d90291 100644 (file)
@@ -55,7 +55,6 @@ ul.main_menu {
 
     &.current {
       background-color:#D5D5D5;
-      border-bottom: 1px solid #AAA;
       border-right: 1px solid #BBB;
       border-left: 1px solid #BBB;
       border-radius: 0 0 1px 1px;
index 135959a..03a6170 100644 (file)
@@ -4,6 +4,18 @@ class ProjectObserver < ActiveRecord::Observer
   end
 
   def after_destroy(project)
+    log_info("Project \"#{project.name}\" was removed")
+
     project.destroy_repository
   end
+
+  def after_create project
+    log_info("#{project.owner.name} created a new project \"#{project.name}\"")
+  end
+
+  protected
+
+  def log_info message
+    Gitlab::AppLogger.info message
+  end
 end
index d12bcc9..654621f 100644 (file)
@@ -1,5 +1,17 @@
 class UserObserver < ActiveRecord::Observer
   def after_create(user)
+    log_info("User \"#{user.name}\" (#{user.email}) was created")
+
     Notify.new_user_email(user.id, user.password).deliver
   end
+
+  def after_destroy user
+    log_info("User \"#{user.name}\" (#{user.email})  was removed")
+  end
+
+  protected
+
+  def log_info message
+    Gitlab::AppLogger.info message
+  end
 end
index 800d3bb..0efe6db 100644 (file)
@@ -1,9 +1,26 @@
-.file_holder#README
-  .file_title
-    %i.icon-file
-    githost.log
-  .file_content.logs
-    %ol
-      - Gitlab::Logger.read_latest.each do |line|
-        %li
-          %p= line
+%ul.nav.nav-tabs.log-tabs
+  %li.active
+    = link_to "githost.log", "#githost", 'data-toggle' => 'tab'
+  %li
+    = link_to "application.log", "#application", 'data-toggle' => 'tab'
+.tab-content
+  .tab-pane.active#githost
+    .file_holder#README
+      .file_title
+        %i.icon-file
+        githost.log
+      .file_content.logs
+        %ol
+          - Gitlab::GitLogger.read_latest.each do |line|
+            %li
+              %p= line
+  .tab-pane#application
+    .file_holder#README
+      .file_title
+        %i.icon-file
+        application.log
+      .file_content.logs
+        %ol
+          - Gitlab::AppLogger.read_latest.each do |line|
+            %li
+              %p= line
diff --git a/lib/gitlab/app_logger.rb b/lib/gitlab/app_logger.rb
new file mode 100644 (file)
index 0000000..8e4717b
--- /dev/null
@@ -0,0 +1,11 @@
+module Gitlab
+  class AppLogger < Gitlab::Logger
+    def self.file_name
+      'application.log'
+    end
+
+    def format_message(severity, timestamp, progname, msg)
+      "#{timestamp.to_s(:long)}: #{msg}\n"
+    end
+  end
+end
index 0d636d2..f51e8ef 100644 (file)
@@ -58,18 +58,22 @@ module Gitlab
         end
       end
     rescue PullError => ex
-      Gitlab::Logger.error("Pull error ->  " + ex.message)
+      log("Pull error ->  " + ex.message)
       raise Gitolite::AccessDenied, ex.message
 
     rescue PushError => ex
-      Gitlab::Logger.error("Push error ->  " + " " + ex.message)
+      log("Push error ->  " + " " + ex.message)
       raise Gitolite::AccessDenied, ex.message
 
     rescue Exception => ex
-      Gitlab::Logger.error(ex.class.name + " " + ex.message)
+      log(ex.class.name + " " + ex.message)
       raise Gitolite::AccessDenied.new("gitolite timeout")
     end
 
+    def log message
+      Gitlab::GitLogger.error(message)
+    end
+
     def destroy_project(project)
       FileUtils.rm_rf(project.path_to_repo)
       conf.rm_repo(project.path)
diff --git a/lib/gitlab/git_logger.rb b/lib/gitlab/git_logger.rb
new file mode 100644 (file)
index 0000000..fbfed20
--- /dev/null
@@ -0,0 +1,11 @@
+module Gitlab
+  class GitLogger < Gitlab::Logger
+    def self.file_name
+      'githost.log'
+    end
+
+    def format_message(severity, timestamp, progname, msg)
+      "#{timestamp.to_s(:long)} -> #{severity} -> #{msg}\n"
+    end
+  end
+end
index c3a19e7..9405163 100644 (file)
@@ -9,17 +9,13 @@ module Gitlab
     end
 
     def self.read_latest
-      path = Rails.root.join("log/githost.log")
+      path = Rails.root.join("log", file_name)
       self.build unless File.exist?(path)
       logs = File.read(path).split("\n")
     end
 
     def self.build
-      new(File.join(Rails.root, "log/githost.log"))
+      new(File.join(Rails.root, "log", file_name))
     end
-
-    def format_message(severity, timestamp, progname, msg)
-      "#{timestamp.to_s(:long)} -> #{severity} -> #{msg}\n" 
-    end 
   end
 end