From mboxrd@z Thu Jan 1 00:00:00 1970 Delivered-To: chneukirchen@gmail.com Received: by 10.239.138.72 with SMTP id o8cs100702hbo; Thu, 20 May 2010 07:21:22 -0700 (PDT) Received-SPF: pass (google.com: domain of rack-devel+bncCP_V2_zRBRDfitXfBBoE2bKm6Q@googlegroups.com designates 10.114.70.14 as permitted sender) client-ip=10.114.70.14; Authentication-Results: mr.google.com; spf=pass (google.com: domain of rack-devel+bncCP_V2_zRBRDfitXfBBoE2bKm6Q@googlegroups.com designates 10.114.70.14 as permitted sender) smtp.mail=rack-devel+bncCP_V2_zRBRDfitXfBBoE2bKm6Q@googlegroups.com; dkim=pass header.i=rack-devel+bncCP_V2_zRBRDfitXfBBoE2bKm6Q@googlegroups.com Received: from mr.google.com ([10.114.70.14]) by 10.114.70.14 with SMTP id s14mr137676waa.7.1274365281012 (num_hops = 1); Thu, 20 May 2010 07:21:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=beta; h=domainkey-signature:received:x-beenthere:received:received:received :received:received-spf:received:received:received:mime-version :subject:from:in-reply-to:date:message-id:references:to:x-mailer :x-original-authentication-results:x-original-sender:reply-to :precedence:mailing-list:list-id:list-post:list-help:list-archive :sender:list-subscribe:list-unsubscribe:content-type :content-transfer-encoding; bh=TIJ4q+AVzGab2ciRF6ZGiOrB3m46WQuS3l4jyxfOI6I=; b=SjqQlUPDU+j4oBw8kQ1WCh0gzClyylPUQHolS9GEmRVTKlsMTeb7dxX6mL3uq8OkLv i2dA9FWBMO769AHhkpKqksAw+8CNHyC60M5AXbIQ/f21IxpjBgNlhbsxn7hj8oozdlg8 dRxV3HUi1flYYj4xNYU+37PzwRtR87B1+X5AQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlegroups.com; s=beta; h=x-beenthere:received-spf:mime-version:subject:from:in-reply-to:date :message-id:references:to:x-mailer:x-original-authentication-results :x-original-sender:reply-to:precedence:mailing-list:list-id :list-post:list-help:list-archive:sender:list-subscribe :list-unsubscribe:content-type:content-transfer-encoding; b=4z5kgMftTLl3VzSKaB9NjbRjWRHLSizLVTvaunou3IlxJ4xGQi8zlJDgWK9cAHtNhy PMSViT4OBiXn5uTiu9PfbzMxULOYsmafERFhdQyDsQvUf4tja87o1I4LVAlgDags1TB6 iWXdnFDMAX/91QTbjobBqQV8jfNOX0Xfe6yd8= Received: by 10.114.70.14 with SMTP id s14mr32529waa.7.1274365279620; Thu, 20 May 2010 07:21:19 -0700 (PDT) X-BeenThere: rack-devel@googlegroups.com Received: by 10.115.38.17 with SMTP id q17ls2834186waj.0.p; Thu, 20 May 2010 07:21:18 -0700 (PDT) Received: by 10.114.119.7 with SMTP id r7mr49630wac.38.1274365278557; Thu, 20 May 2010 07:21:18 -0700 (PDT) Received: by 10.114.119.7 with SMTP id r7mr49628wac.38.1274365278518; Thu, 20 May 2010 07:21:18 -0700 (PDT) Return-Path: Received: from mail-pz0-f178.google.com (mail-pz0-f178.google.com [209.85.222.178]) by gmr-mx.google.com with ESMTP id e19si13686462wam.0.2010.05.20.07.21.17; Thu, 20 May 2010 07:21:17 -0700 (PDT) Received-SPF: pass (google.com: domain of jftucker@gmail.com designates 209.85.222.178 as permitted sender) client-ip=209.85.222.178; Received: by mail-pz0-f178.google.com with SMTP id 8so954376pzk.18 for ; Thu, 20 May 2010 07:21:17 -0700 (PDT) Received: by 10.114.33.26 with SMTP id g26mr96830wag.216.1274365276782; Thu, 20 May 2010 07:21:16 -0700 (PDT) Return-Path: Received: from [10.0.0.17] ([199.172.206.12]) by mx.google.com with ESMTPS id 33sm77783537wad.8.2010.05.20.07.21.14 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 20 May 2010 07:21:15 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v1078) Subject: Re: Rack::CommonLogger does not receive Logger Instance. is this bug? From: James Tucker In-Reply-To: <4c699dd9-5da3-45b4-88b1-e1e0001c4a44@y18g2000prn.googlegroups.com> Date: Thu, 20 May 2010 11:21:11 -0300 Message-Id: <8C4710BE-8E43-4547-A107-1B538E9B79FD@gmail.com> References: <4c699dd9-5da3-45b4-88b1-e1e0001c4a44@y18g2000prn.googlegroups.com> To: rack-devel@googlegroups.com X-Mailer: Apple Mail (2.1078) X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jftucker@gmail.com designates 209.85.222.178 as permitted sender) smtp.mail=jftucker@gmail.com; dkim=pass (test mode) header.i=@gmail.com X-Original-Sender: jftucker@gmail.com Reply-To: rack-devel@googlegroups.com Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: Sender: rack-devel@googlegroups.com List-Subscribe: , List-Unsubscribe: , Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable On 5 May 2010, at 13:03, sanemat wrote: > Logger Instance does not have +write+ method. > But Rack::CommonLogger's constructer require +write+ method in second > parameter. class MyLogger << Logger alias write << end use Rack::CommonLogger, MyLogger.new > modify way I think: > a. change Logger instance > b. change commonlogger >=20 > or anyway. >=20 > so i try 'a' way like below, and it works. >=20 > = http://github.com/choonkeat/tweetstreamproxy/commit/ec82b0ac04b4f20ba33bf4= f25dfb3f60e122d44c > Logger.class_eval { alias :write :"<<" } unless > Logger.instance_methods.include? "write" This is horrible. I do wish people would subclass first rather than = monkey patch first (glaring evil stares at rails here too as there's no = need to monkey patch Logger, like, ever). > or 'b' way. like this. > = http://github.com/sanemat/rack/commit/865ab9655aa2aa226a9d21b8dfd39e001c9b= deb0 > change method again from +write+ to +<<+. this changed one years ago. > = http://github.com/rack/rack/commit/761c6246e18b92752353c0f412976ded4a417dc= 5 I see the implementation used to be compatible with Logger, that change = did indeed break it. It uses write to expect something IO-ish, not = something Logger-ish, but I think it would be a valid change to use << = instead, however, I cannot remember if we specify this as a requirement = for env['rack.errors']. Certainly we should decide one way, however, I = have no real problem with the way it presently is, the implementation = being simpler than it used to be. > which is better? > I confuse this. > i may be wrong but few people use Logger? Generally, no, people use env['rack.errors'], which is IO-ish.