|
Revision 336, 1.2 kB
(checked in by eric.dumin..@gmail.com, 7 months ago)
|
Defining IndexerLogger? level in environments/*.rb
|
| Line | |
|---|
| 1 |
class IndexerLogger<Logger |
|---|
| 2 |
def initialize |
|---|
| 3 |
super($stdout) |
|---|
| 4 |
@level=Picolena::LOGLEVEL |
|---|
| 5 |
@found_languages={} |
|---|
| 6 |
@supported_filetypes={} |
|---|
| 7 |
@unsupported_filetypes={} |
|---|
| 8 |
end |
|---|
| 9 |
|
|---|
| 10 |
def start_indexing |
|---|
| 11 |
@start_time=Time.now |
|---|
| 12 |
debug "Indexing every directory" |
|---|
| 13 |
end |
|---|
| 14 |
|
|---|
| 15 |
def add_document(document) |
|---|
| 16 |
debug ["Added : #{document[:complete_path]}",document[:language] && " ("<<document[:language]<<")"].join |
|---|
| 17 |
@found_languages.add(document[:language]) if document[:language] |
|---|
| 18 |
@supported_filetypes.add(document[:filetype]) |
|---|
| 19 |
end |
|---|
| 20 |
|
|---|
| 21 |
def reject_document(document, error) |
|---|
| 22 |
@unsupported_filetypes.add(document[:filetype]) |
|---|
| 23 |
debug "Added without content (#{error.message}) : #{document[:complete_path]}" |
|---|
| 24 |
end |
|---|
| 25 |
|
|---|
| 26 |
def show_report |
|---|
| 27 |
describe :found_languages, :supported_filetypes, :unsupported_filetypes |
|---|
| 28 |
info "Time needed : #{Time.now-@start_time} s." |
|---|
| 29 |
end |
|---|
| 30 |
|
|---|
| 31 |
private |
|---|
| 32 |
|
|---|
| 33 |
def describe(*instance_variable_names) |
|---|
| 34 |
instance_variable_names.each{|var_name| |
|---|
| 35 |
hash=instance_variable_get("@#{var_name}") |
|---|
| 36 |
info var_name.to_s.humanize.ljust(25)<<": "<<hash.reject{|k,v| k.blank?}.sort_by{|k,v| v[:size]}.reverse.collect{|k,v| "#{k.downcase} (#{v[:size]})"}.join(", ") unless hash.empty? |
|---|
| 37 |
} |
|---|
| 38 |
end |
|---|
| 39 |
end |
|---|