Merge pull request #1149 from mojombo/jekyll-logger
Use Jekyll.logger instead of Jekyll::Stevenson to log things
This commit is contained in:
commit
21c153a8df
|
@ -87,4 +87,8 @@ module Jekyll
|
|||
def self.set_timezone(timezone)
|
||||
ENV['TZ'] = timezone
|
||||
end
|
||||
|
||||
def self.logger
|
||||
@logger ||= Stevenson.new
|
||||
end
|
||||
end
|
||||
|
|
|
@ -18,9 +18,9 @@ module Jekyll
|
|||
site.process
|
||||
rescue Jekyll::FatalException => e
|
||||
puts
|
||||
Jekyll::Stevenson.error "ERROR:", "YOUR SITE COULD NOT BE BUILT:"
|
||||
Jekyll::Stevenson.error "", "------------------------------------"
|
||||
Jekyll::Stevenson.error "", e.message
|
||||
Jekyll.logger.error "ERROR:", "YOUR SITE COULD NOT BE BUILT:"
|
||||
Jekyll.logger.error "", "------------------------------------"
|
||||
Jekyll.logger.error "", e.message
|
||||
exit(1)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,9 +17,9 @@ module Jekyll
|
|||
def self.build(site, options)
|
||||
source = options['source']
|
||||
destination = options['destination']
|
||||
Jekyll::Stevenson.info "Source:", source
|
||||
Jekyll::Stevenson.info "Destination:", destination
|
||||
print Jekyll::Stevenson.formatted_topic "Generating..."
|
||||
Jekyll.logger.info "Source:", source
|
||||
Jekyll.logger.info "Destination:", destination
|
||||
print Jekyll.logger.formatted_topic "Generating..."
|
||||
self.process_site(site)
|
||||
puts "done."
|
||||
end
|
||||
|
@ -36,14 +36,14 @@ module Jekyll
|
|||
source = options['source']
|
||||
destination = options['destination']
|
||||
|
||||
Jekyll::Stevenson.info "Auto-regeneration:", "enabled"
|
||||
Jekyll.logger.info "Auto-regeneration:", "enabled"
|
||||
|
||||
dw = DirectoryWatcher.new(source, :glob => self.globs(source, destination), :pre_load => true)
|
||||
dw.interval = 1
|
||||
|
||||
dw.add_observer do |*args|
|
||||
t = Time.now.strftime("%Y-%m-%d %H:%M:%S")
|
||||
print Jekyll::Stevenson.formatted_topic("Regenerating:") + "#{args.size} files at #{t} "
|
||||
print Jekyll.logger.formatted_topic("Regenerating:") + "#{args.size} files at #{t} "
|
||||
self.process_site(site)
|
||||
puts "...done."
|
||||
end
|
||||
|
|
|
@ -7,7 +7,7 @@ module Jekyll
|
|||
site.read
|
||||
|
||||
unless deprecated_relative_permalinks(site)
|
||||
Jekyll::Stevenson.info "Your test results", "are in. Everything looks fine."
|
||||
Jekyll.logger.info "Your test results", "are in. Everything looks fine."
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -15,7 +15,7 @@ module Jekyll
|
|||
contains_deprecated_pages = false
|
||||
site.pages.each do |page|
|
||||
if page.uses_relative_permalinks
|
||||
Jekyll::Stevenson.warn "Deprecation:", "'#{page.path}' uses relative" +
|
||||
Jekyll.logger.warn "Deprecation:", "'#{page.path}' uses relative" +
|
||||
" permalinks which will be deprecated in" +
|
||||
" Jekyll v1.1 and beyond."
|
||||
contains_deprecated_pages = true
|
||||
|
|
|
@ -9,7 +9,7 @@ module Jekyll
|
|||
new_blog_path = File.expand_path(args.join(" "), Dir.pwd)
|
||||
FileUtils.mkdir_p new_blog_path
|
||||
if preserve_source_location?(new_blog_path, options)
|
||||
Jekyll::Stevenson.error "Conflict:", "#{new_blog_path} exists and is not empty."
|
||||
Jekyll.logger.error "Conflict:", "#{new_blog_path} exists and is not empty."
|
||||
exit(1)
|
||||
end
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ module Jekyll
|
|||
def read_config_file(file)
|
||||
next_config = YAML.safe_load_file(file)
|
||||
raise "Configuration file: (INVALID) #{file}".yellow if !next_config.is_a?(Hash)
|
||||
Jekyll::Stevenson.info "Configuration file:", file
|
||||
Jekyll.logger.info "Configuration file:", file
|
||||
next_config
|
||||
end
|
||||
|
||||
|
@ -135,9 +135,9 @@ module Jekyll
|
|||
end
|
||||
rescue SystemCallError
|
||||
# Errno:ENOENT = file not found
|
||||
Jekyll::Stevenson.warn "Configuration file:", "none"
|
||||
Jekyll.logger.warn "Configuration file:", "none"
|
||||
rescue => err
|
||||
Jekyll::Stevenson.warn "WARNING:", "Error reading configuration. " +
|
||||
Jekyll.logger.warn "WARNING:", "Error reading configuration. " +
|
||||
"Using defaults (and options)."
|
||||
$stderr.puts "#{err}"
|
||||
end
|
||||
|
@ -162,7 +162,7 @@ module Jekyll
|
|||
config = clone
|
||||
# Provide backwards-compatibility
|
||||
if config.has_key?('auto') || config.has_key?('watch')
|
||||
Jekyll::Stevenson.warn "Deprecation:", "Auto-regeneration can no longer" +
|
||||
Jekyll.logger.warn "Deprecation:", "Auto-regeneration can no longer" +
|
||||
" be set from your configuration file(s). Use the"+
|
||||
" --watch/-w command-line option instead."
|
||||
config.delete('auto')
|
||||
|
@ -170,14 +170,14 @@ module Jekyll
|
|||
end
|
||||
|
||||
if config.has_key? 'server'
|
||||
Jekyll::Stevenson.warn "Deprecation:", "The 'server' configuration option" +
|
||||
Jekyll.logger.warn "Deprecation:", "The 'server' configuration option" +
|
||||
" is no longer accepted. Use the 'jekyll serve'" +
|
||||
" subcommand to serve your site with WEBrick."
|
||||
config.delete('server')
|
||||
end
|
||||
|
||||
if config.has_key? 'server_port'
|
||||
Jekyll::Stevenson.warn "Deprecation:", "The 'server_port' configuration option" +
|
||||
Jekyll.logger.warn "Deprecation:", "The 'server_port' configuration option" +
|
||||
" has been renamed to 'port'. Please update your config" +
|
||||
" file accordingly."
|
||||
# copy but don't overwrite:
|
||||
|
@ -186,7 +186,7 @@ module Jekyll
|
|||
end
|
||||
|
||||
if config.has_key?('exclude') && config['exclude'].is_a?(String)
|
||||
Jekyll::Stevenson.warn "Deprecation:", "The 'exclude' configuration option" +
|
||||
Jekyll.logger.warn "Deprecation:", "The 'exclude' configuration option" +
|
||||
" must now be specified as an array, but you specified" +
|
||||
" a string. For now, we've treated the string you provided" +
|
||||
" as a list of comma-separated values."
|
||||
|
@ -194,7 +194,7 @@ module Jekyll
|
|||
end
|
||||
|
||||
if config.has_key?('include') && config['include'].is_a?(String)
|
||||
Jekyll::Stevenson.warn "Deprecation:", "The 'include' configuration option" +
|
||||
Jekyll.logger.warn "Deprecation:", "The 'include' configuration option" +
|
||||
" must now be specified as an array, but you specified" +
|
||||
" a string. For now, we've treated the string you provided" +
|
||||
" as a list of comma-separated values."
|
||||
|
|
|
@ -76,7 +76,7 @@ module Jekyll
|
|||
def render_liquid(content, payload, info)
|
||||
Liquid::Template.parse(content).render!(payload, info)
|
||||
rescue Exception => e
|
||||
Jekyll::Stevenson.error "Liquid Exception:", "#{e.message} in #{payload[:file]}"
|
||||
Jekyll.logger.error "Liquid Exception:", "#{e.message} in #{payload[:file]}"
|
||||
raise e
|
||||
end
|
||||
|
||||
|
|
|
@ -18,14 +18,14 @@ module Jekyll
|
|||
|
||||
def self.no_subcommand(args)
|
||||
if args.size > 0 && args.first =~ /^--/ && !%w[--help --version].include?(args.first)
|
||||
Jekyll::Stevenson.error "Deprecation:", "Jekyll now uses subcommands instead of just \
|
||||
Jekyll.logger.error "Deprecation:", "Jekyll now uses subcommands instead of just \
|
||||
switches. Run `jekyll help' to find out more."
|
||||
end
|
||||
end
|
||||
|
||||
def self.deprecation_message(args, deprecated_argument, message)
|
||||
if args.include?(deprecated_argument)
|
||||
Jekyll::Stevenson.error "Deprecation:", message
|
||||
Jekyll.logger.error "Deprecation:", message
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -156,7 +156,7 @@ module Jekyll
|
|||
when String
|
||||
Time.parse(input)
|
||||
else
|
||||
Jekyll::Stevenson.error "Invalid Date:", "'#{input}' is not a valid datetime."
|
||||
Jekyll.logger.error "Invalid Date:", "'#{input}' is not a valid datetime."
|
||||
exit(1)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -51,7 +51,7 @@ module Jekyll
|
|||
|
||||
def display(output)
|
||||
$stdout.print("\n")
|
||||
$stdout.print(Jekyll::Stevenson.formatted_topic(output))
|
||||
$stdout.print(Jekyll.logger.formatted_topic(output))
|
||||
$stdout.flush
|
||||
end
|
||||
end
|
||||
|
|
|
@ -421,12 +421,12 @@ module Jekyll
|
|||
def relative_permalinks_deprecation_method
|
||||
if config['relative_permalinks'] && !@deprecated_relative_permalinks
|
||||
$stderr.puts # Places newline after "Generating..."
|
||||
Jekyll::Stevenson.warn "Deprecation:", "Starting in 1.1, permalinks for pages" +
|
||||
Jekyll.logger.warn "Deprecation:", "Starting in 1.1, permalinks for pages" +
|
||||
" in subfolders must be relative to the" +
|
||||
" site source directory, not the parent" +
|
||||
" directory. Check http://jekyllrb.com/docs/upgrading/"+
|
||||
" for more info."
|
||||
$stderr.print Jekyll::Stevenson.formatted_topic("") + "..." # for "done."
|
||||
$stderr.print Jekyll.logger.formatted_topic("") + "..." # for "done."
|
||||
@deprecated_relative_permalinks = true
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,15 +1,29 @@
|
|||
require 'logger'
|
||||
|
||||
module Jekyll
|
||||
class Stevenson
|
||||
attr_accessor :log_level
|
||||
|
||||
DEBUG = 0
|
||||
INFO = 1
|
||||
WARN = 2
|
||||
ERRROR = 3
|
||||
|
||||
# Public: Create a new instance of Stevenson, Jekyll's logger
|
||||
#
|
||||
# level - (optional, integer) the log level
|
||||
#
|
||||
# Returns nothing
|
||||
def initialize(level = INFO)
|
||||
@log_level = level
|
||||
end
|
||||
|
||||
# Public: Print a jekyll message to stdout
|
||||
#
|
||||
# topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
|
||||
# message - the message detail
|
||||
#
|
||||
# Returns nothing
|
||||
def self.info(topic, message)
|
||||
$stdout.puts message(topic, message)
|
||||
def info(topic, message)
|
||||
$stdout.puts(message(topic, message)) if log_level <= INFO
|
||||
end
|
||||
|
||||
# Public: Print a jekyll message to stderr
|
||||
|
@ -18,8 +32,8 @@ module Jekyll
|
|||
# message - the message detail
|
||||
#
|
||||
# Returns nothing
|
||||
def self.warn(topic, message)
|
||||
$stderr.puts message(topic, message).yellow
|
||||
def warn(topic, message)
|
||||
$stderr.puts(message(topic, message).yellow) if log_level <= WARN
|
||||
end
|
||||
|
||||
# Public: Print a jekyll error message to stderr
|
||||
|
@ -28,8 +42,8 @@ module Jekyll
|
|||
# message - the message detail
|
||||
#
|
||||
# Returns nothing
|
||||
def self.error(topic, message)
|
||||
$stderr.puts message(topic, message).red
|
||||
def error(topic, message)
|
||||
$stderr.puts(message(topic, message).red) if log_level <= ERROR
|
||||
end
|
||||
|
||||
# Public: Build a Jekyll topic method
|
||||
|
@ -38,7 +52,7 @@ module Jekyll
|
|||
# message - the message detail
|
||||
#
|
||||
# Returns the formatted message
|
||||
def self.message(topic, message)
|
||||
def message(topic, message)
|
||||
formatted_topic(topic) + message.gsub(/\s+/, ' ')
|
||||
end
|
||||
|
||||
|
@ -47,7 +61,7 @@ module Jekyll
|
|||
# topic - the topic of the message, e.g. "Configuration file", "Deprecation", etc.
|
||||
#
|
||||
# Returns the formatted topic statement
|
||||
def self.formatted_topic(topic)
|
||||
def formatted_topic(topic)
|
||||
"#{topic} ".rjust(20)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue