Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Введение логов, класс Log4r 
V
    Опции темы
Akeem
Дата 2.8.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

Репутация: нет
Всего: 3



Я вот перелопатил уйму литературы, но всё равно не могу понять как использовать методы класса. 

Есть примеры, но они не срабатывают.

Можете обьяснить что к чему?

Если есть какие-то другие методы ведение логов работы программы то прошу их тоже озвучить!



--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
skalex
Дата 2.8.2006, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 5
Всего: 23



Akeem, а в чем конкретно проблема?

Пример из документации к библиотеке работает без претензий:

Код
require 'log4r'
include Log4r

log = Logger.new 'log'
log.outputters = Outputter.stdout

log.debug "Debug message"
log.info "Info message"
log.warn "Warn message"
log.error "Error message"
log.fatal "Fatal message"

PM   Вверх
Akeem
Дата 2.8.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

Репутация: нет
Всего: 3



Мне надо писать логи в файл. 
И мне не понятно как использовать подкласс FileOutputter

Это сообщение отредактировал(а) Akeem - 2.8.2006, 14:18


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
Akeem
Дата 2.8.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

Репутация: нет
Всего: 3



Мне вот не понятна такая штука. Я пишу 

Код

logfile = FileOutputter.new('logfile.log')


А оно мне выдает:
Код

H:/rb/ftp/ftp_conn.rb:31:in `log_programm': Argument 'filename' must be a String
(TypeError)
        from H:/rb/ftp/ftp_conn.rb:33


что за глюк. почему не хочет распознавтася класс String?


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
Rubynovich
Дата 2.8.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 7.6.2006

Репутация: 3
Всего: 3



Параметр name -- это название лога (их может быть несколько, надо же их как-то опознавать), а не файла. Имя файла передается в качестве хеша.
Код

require 'log4r'
logfile = Log4r::FileOutputter.new('Мой лог',:filename=>'logfile.log')

PM MAIL   Вверх
Akeem
Дата 2.8.2006, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

Репутация: нет
Всего: 3



Rubynovich, Хорошо я всё зделал  как ты указал. 

Я добавил строку 
Код

$log = Log4r::FileOutputter.new('mylog',:filename=>Config::NAME_LOG_FILE)

замисть строк
Код

$log = Logger.new 'log'
$log.outputters = Outputter.stdout


но теперь мне выдает

Код

c:/ruby/lib/ruby/site_ruby/1.8/log4r/formatter/formatter.rb:56:in `format': undef
ined method `level' for "Your horizontal and vertical mask install default values
":String (NoMethodError)
        from c:/ruby/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:118:in `
format'
        from c:/ruby/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:108:in `
canonical_log'
        from c:/ruby/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:128:in `
synch'
        from c:/ruby/lib/ruby/1.8/thread.rb:135:in `synchronize'
        from c:/ruby/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:128:in `
synch'
        from c:/ruby/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:108:in `
canonical_log'
        from (eval):3:in `warn'
        from H:/rb/ftp/ftp_conn.rb:317


Добавлено @ 17:59 
до этого работало.  smile 


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
Rubynovich
Дата 2.8.2006, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 7.6.2006

Репутация: 3
Всего: 3



Код

require 'log4r'
$log = Log4r::Logger.new 'log'
$log.outputters = Log4r::FileOutputter.new('log',:filename=>Config::NAME_LOG_FILE), Log4r::Outputter.stdout

$log.warn 'hello'


У меня все работает!
PM MAIL   Вверх
Akeem
Дата 2.8.2006, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 14.7.2006
Где: Киев/Украина

Репутация: нет
Всего: 3



Rubynovich
Понял. Спасибо. Всё заработало.
Вот правда оно также в консоль выводит. Наверное не надо дописывать 
Код

, Log4r::Outputter.stdout


Добавлено @ 20:32 
Точно не надо.


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Ruby: Общие вопросы"
source777
  • С чего начать? начинаем
  • Ссылки на полезные ресурсы смотрим тут
  • Обязательно следуйте правилам Vingrad.
  • Пожалуйста, прочитайте рекомендации по работе в форуме и навигации по Vingrad.
  • Для вставки кодов Ruby используйте тег: [code=ruby]код[/code]. Когда в будущем подсветка синтаксиса для Ruby будет реализована, весь исходных код преобразится.
  • Используйтe чекбокс "Транслит" (возле кнопок кодов), если у Вас нет русских шрифтов.
  • Помните, для каждого вопроса должна быть своя тема.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1337 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.