[#362083] Teaching Programming Languages (including Ruby) — Samuel Williams <space.ship.traveller@...>

Hello,

20 messages 2010/05/02

[#362098] Main working window for Ruby is DOS? — Kaye Ng <sbstn26@...>

I know nothing about programming and am not a techy person, so please

16 messages 2010/05/03

[#362116] School teacher still at it learning programming language — Hilary Bailey <my77elephants@...>

Now I while glimpsing at the beauty of Ruby, there is the software of

11 messages 2010/05/03

[#362166] Something I expected to work, but didn't! — Kurtis Rainbolt-greene <kurtisrainboltgreene@...>

irb(main):001:0> x = 2

11 messages 2010/05/04

[#362215] for-in vs. map closures — Mike Austin <mike_ekim@...>

I was experimenting with closures and JavaScript's and Ruby's

11 messages 2010/05/05

[#362286] ri on sqlite — Intransition <transfire@...>

What do others think of a creating a new ri tool which uses a SQLite

17 messages 2010/05/06

[#362341] ease of porting (translating) ruby to C (vs. python)? — bwv549 <jtprince@...>

In a very small bioinformatics group I know of, they are deciding

17 messages 2010/05/07

[#362375] Strings iteration — Viorel <viorelvladu@...>

I have some names like aaxxbbyy where xx is '01'..'10' and yy is also

14 messages 2010/05/08

[#362425] Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...>

Have apps moved over to the web (or GUI) totally ? Will there be any

21 messages 2010/05/10
[#362441] Re: Any future for curses applications/toolkits like rbcurse ? — botp <botpena@...> 2010/05/10

On Mon, May 10, 2010 at 2:13 PM, R. Kumar <sentinel.2001@gmx.com> wrote:

[#362448] Re: Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...> 2010/05/10

interface and/or the installation itself is terrible.

[#362458] Re: Any future for curses applications/toolkits like rbcurse ? — botp <botpena@...> 2010/05/10

On Mon, May 10, 2010 at 10:28 PM, R. Kumar <sentinel.2001@gmx.com> wrote:

[#362460] Re: Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...> 2010/05/10

botp wrote:

[#362463] Re: Any future for curses applications/toolkits like rbcurse ? — "R. Kumar" <sentinel.2001@...> 2010/05/10

Strange. I cant push a gem even after yanking.

[#362452] Unit Test of method calling system() - how? — Martin Hansen <mail@...>

How can I unit test the two methods:

16 messages 2010/05/10

[#362498] In Ruby, can the coerce() method know what operator it is th — Jian Lin <blueskybreeze@...>

In Ruby, it seems that a lot of coerce() help can be done by

12 messages 2010/05/11
[#362546] Re: In Ruby, can the coerce() method know what operator it is th — Caleb Clausen <vikkous@...> 2010/05/11

On 5/10/10, Jian Lin <blueskybreeze@gmail.com> wrote:

[#362611] Re: In Ruby, can the coerce() method know what operator it is th — Colin Bartlett <colinb2r@...> 2010/05/12

On Tue, May 11, 2010 at 4:46 PM, Caleb Clausen <vikkous@gmail.com> wrote:

[#362657] Asynchronous HTTP request — Daniel DeLorme <dan-ml@...42.com>

Does anyone know how to do the following, but without threads, purely

28 messages 2010/05/13

[#362718] Range on strings. — Vikrant Chaudhary <nasa42@...>

Hi,

13 messages 2010/05/14

[#362787] class best way for getters ? — unbewusst.sein@... (Une B騅ue)

i have a class "HFSFile" initialized by a parsed string

12 messages 2010/05/15

[#362979] curl library? — Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@...>

Two questions:

14 messages 2010/05/18
[#362980] Re: curl library? — Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@...> 2010/05/18

On 10-05-18 02:35 PM, Xeno Campanoli / Eskimo North and Gmail wrote:

[#362982] Re: curl library? — Luis Parravicini <lparravi@...> 2010/05/18

On Tue, May 18, 2010 at 6:56 PM, Xeno Campanoli / Eskimo North and

[#362984] Re: curl library? — Xeno Campanoli / Eskimo North and Gmail <xeno.campanoli@...> 2010/05/18

Well, I got that -dev thing installed with apt-get, and then I tried again and

[#363027] Retrieve instance — Walle Wallen <walle.sthlm@...>

Quick question. Can I somehow retrieve the instance of the class Test in

11 messages 2010/05/19

[#363076] Scrape javascript content — Phil Mcdonnell <phil.a.mcdonnell@...>

I'm trying to scrape a page that hides some data behind a javascript

11 messages 2010/05/20

[#363115] OMG, why are there so many Strings in ObjectSpace! — timr <timrandg@...>

I was playing around looking at ObjectSpace in irb and was astounded

14 messages 2010/05/21

[#363225] Redefine a Class? — Mark T <paradisaeidae@...>

Currently this raises: superclass mismatch for class Soda (TypeError)

12 messages 2010/05/25

[#363240] Funny IO.select behaviour — Dennis Nedry <dennis@...>

I've been debugging my full screen console ruby editor.

13 messages 2010/05/25

[#363348] Ruby as Client Side Language in Web Browser (replacing JS) — "Simone R." <k5mmx@...>

Hi everybody,

17 messages 2010/05/27

[#363412] A better way to write this function? — Jason Lillywhite <jason.lillywhite@...>

Here is my attempt at Newton's second law in Ruby:

14 messages 2010/05/28

[#363417] Interrupting the evaluation of a ruby script — Emmanuel Emmanuel <emmanuel.bacry@...>

This is my problem :

12 messages 2010/05/28
[#363447] Re: Interrupting the evaluation of a ruby script — Branden Tanga <branden.tanga@...> 2010/05/28

Emmanuel Emmanuel wrote:

[#363483] Re: Interrupting the evaluation of a ruby script — Emmanuel Emmanuel <emmanuel.bacry@...> 2010/05/29

[#363426] A complete beginners question — Ant Walliams <anthonywainwright@...>

Hi there,

19 messages 2010/05/28

[#363432] Dynamic SVG with Ruby/Tk — Yotta Meter <spam@...>

The example I'm looking for in regards to ruby/SVG differs from the

14 messages 2010/05/28

[#363467] Date.today problem on linux with Ruby 1.8.6 — Jarmo Pertman <jarmo.p@...>

Hello.

10 messages 2010/05/29

[#363524] enumerator problem in 1.9.1 — Bug Free <amberarrow@...>

The following line:

19 messages 2010/05/31
[#363528] Re: enumerator problem in 1.9.1 — botp <botpena@...> 2010/05/31

On Mon, May 31, 2010 at 9:04 AM, Bug Free <amberarrow@yahoo.com> wrote:

[#363533] Re: enumerator problem in 1.9.1 — Robert Klemme <shortcutter@...> 2010/05/31

2010/5/31 botp <botpena@gmail.com>:

Re: subclassing Logging

From: Don French <dhf0820@...>
Date: 2010-05-02 12:30:07 UTC
List: ruby-talk #362084
On May 1, 11:29=A0am, Tim Pease <tim.pe...@gmail.com> wrote:
> On Apr 30, 2010, at 11:23 PM, d...@dhfrench.com wrote:
>
>
>
> > Tim,
>
> > I am trying to subclass the logging module to have a consistent setup f=
or my classes. They all log to the same rolling file. =A0I seem to get two =
different errors.
>
> > Error one:
> > require 'fileutils'
> > require 'logging'
>
> > module MyLogger
> > class Log < Logging::Logger
> > =A0def initialize(config) =A0# config not used in test but will be.
> > =A0 =A0super("reader")
> > =A0 =A0Logging.appenders.stdout(:level =3D> :debug)
> > =A0 =A0file_path =3D =A0"./reader.log"
> > =A0 =A0Logging.appenders.rolling_file(
> > =A0 =A0"readerlog",
> > =A0 =A0:filename =3D> file_path,
> > =A0 =A0:age =3D> :daily,
> > =A0 =A0:layout =3D> Logging.layouts.json)
> > =A0 =A0add_appenders('stdout','readerlog')
> > =A0end
> > end
> > end
>
> Take a look at this example logging configuration. It walks though the co=
ncept of logger hierarchies in the logging framework.
>
> http://github.com/TwP/logging/blob/master/examples/hierarchies.rb
>
> This, I believe, is what you are trying to accomplish. You should not hav=
e to subclass the Logging:Logger. Take a look at the other example files in=
 that "examples" folder; they walk through in code some of the concepts beh=
ind the logging framework.
>
> Logging.appenders.stdout(
> =A0 'stdout',
> =A0 :layout =3D> Logging.layouts.pattern
> )
>
> Logging.appenders.rolling_file(
> =A0 'readerlog',
> =A0 :filename =3D> './reader.log',
> =A0 :age =3D> :daily,
> =A0 :layout =3D> Logging.layouts.json
> )
>
> logger =3D Logging.logger['YourModule']
> logger.appenders =3D ['stdout', 'readerlog']
> logger.level =3D :info
>
> In the above snippet of code, I created two appenders. The first is named=
 "stdout" and will use a pattern based layout to write log messages to STDO=
UT. The second is named "readerlog" and will use a JSON layout to write log=
 messages to a file called "reader.log".
>
> I then created a new logger instance, added the two appenders by name, an=
d then set the log level to 'info'.
>
> Now you can create nested loggers that will use the same appenders and ha=
ve the same default log level.
>
> another_logger =3D Logging.logger['YourModule::Another']
> yet_another_logger =3D Logging.logger['YourModule::Another::Yet']
>
> > with this in a larger program or by it self I get:
>
> > NoMethodError: undefined method `synchronize' for nil:NilClass
> > =A0 =A0 =A0 =A0from /usr/local/ruby/lib/ruby/gems/1.8/gems/logging-1.4.=
1/lib/logging/logger.rb:51:in `new'
> > =A0 =A0 =A0 =A0from (irb):2
> > irb command is =A0l =3D =A0MyLogger::Log.new('test')
>
> > If I remove the parameter from the initialize, I can make it work stand=
alone.
>
> > I tried using rspec in the larger app and just the test for log fails t=
he same with the parameter. =A0I take it off and the init passes but the ac=
tual log does not return.
>
> The Logging framework has built in support for rspec. It can be configure=
d to log all messages to a StringIO instance during tests. You can then rea=
d out your log messages from the StringIO and make sure the right messages =
are making it into the log.
>
> In your spec_helper file ....
>
> require 'spec/logging_helper'
>
> Spec::Runner.configure do |config|
> =A0 include Spec::LoggingHelper
> =A0 config.capture_log_messages
> end
>
> And in your actual specs ...
>
> it 'logs a message on error' do
> =A0 @foo.error_method
> =A0 @log_output.readline.should =3D=3D 'This is your error message'
> end
>
> I hope all this helps.
>
> Blessings,
> TwP
>
> PS =A0I cc'd the ruby-talk mailing list so this information can be found =
by others.
>
> > describe MyLogger::Log do
> > =A0it "should initialize" do
> > =A0 =A0l =3D MyLogger::Log.new()
> > =A0 =A0l.class.should =3D=3D MyLogger::Log
> > =A0end
> > end
>
> > describe MyLogger::Log do
> > =A0before :each do
> > =A0 =A0@log =3D MyLogger::Log.new
> > =A0end
>
> > =A0it "should log a debug" do
> > =A0 =A0@log.info "Rspec debug".should =3D=3D true
> > =A0end
>
> > end
>
> > the @log.info fails with:
> > 'MyLogger::Log should log a debug' FAILED
> > expected: true,
> > =A0 =A0 got: "Rspec debug" (using =3D=3D)
>
> > I can use any help you can give.
>
> > Don French
>
>

Thanks for the information.

This is the structure. The live processor (could be several) are
instantiated my main and need to log what happens in their own
processor. Same thing with the test processor. Can the two "reader"
logger ids be configured different? In testing it seems that all write
to all the log files.  If I change the top level name, how does the
lower level objects know what the top level is?  I know I can pass to
every object the mode, but really do not like doing that. They do not
care other than for logging.

main
-- live_processor           Logger['reader']  Logs into a file called
live_tag.log tag changes for each live processor instantiated.
   -- processor class      Logger['reader::processor']
	-- class_1                Logger['reader::processor::class_1']   or
can I just do 'reader::processor'
	    |	-- class_2
	    |		|
           |            |
	    |	-- class_x
	-- class_y
-- test_processor		Logger['reader']   Logs into a file called test.log
	-- class_1		Logger['reader::processor']
	    |	-- class_2	Logger['reader::processor::class_1']   or can I just
do 'reader::processor'
	    |		|
           |            |
	    |	-- class_x
	-- class_y


Thanks

Don

In This Thread

Prev Next