elems.val('').attr 'disabled', true
else
elems.removeAttr 'disabled'
+
+ $('.log-tabs a').click (e) ->
+ e.preventDefault()
+ $(this).tab('show')
//= require jquery.endless-scroll
//= require jquery.highlight
//= require jquery.waitforimages
-//= require bootstrap-modal
+//= require bootstrap
//= require modernizr
//= require chosen-jquery
//= require raphael
&.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;
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
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
-.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
--- /dev/null
+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
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)
--- /dev/null
+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
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