about summary refs log tree commit homepage
AgeCommit message (Collapse)AuthorFilesLines
2011-07-20ext: note we rely on GVL for reentrancy detectionEric Wong1-0/+2
Nothing wrong with the GVL in Ruby 1.9.3; but we'll need to modify our code if it's removed for C extensions.
2011-06-22clogger 1.0.1 - portability fixes v1.0.1Eric Wong1-1/+1
Minor portability fixes noticed on some systems. There is a minor license change, it is now explicitly LGPLv2.1 and LGPLv3 and later versions at the project leader's discretion. It is no longer LGPLv2.1+, so it doesn't give a blank check to the FSF to change the license on us.
2011-06-22ext: fix portability defines for some installsEric Wong2-1/+9
Some Ruby installs muck up headers/#defines and cause weirdness. We now explicitly define _BSD_SOURCE and include #stdio.h
2011-05-11tests: add full URL exampleEric Wong1-0/+13
Could be useful for some folks.
2011-04-26change from LGPLv2.1+ to LGPLv2.1 + LGPLv3Eric Wong3-502/+168
LGPLv4 could be completely different, so we won't give the FSF a blank check to force it upon us.
2011-04-21clogger 1.0.0 - \o/ v1.0.0Eric Wong1-1/+1
* $time_iso8601 added for nginx compatibility * $time_local (without strftime-options) is now locale-independent There's also a minor usability tweak that allows Symbols to be specified as the :format argument, so config.ru can be shortened: before (continues to work with 1.0.0): use Clogger, :format => Clogger::Format::Rack_1_0 after: use Clogger, :format => :Rack_1_0
2011-04-19README: stop promoting strftime()-compatible formatsEric Wong1-4/+4
strftime() isn't locale-independent, so it can lead to inconsistencies in logs.
2011-04-19$time_local and $time_utc are locale-independentEric Wong4-12/+99
This doesn't apply to people that use strftime()-formats, but that's a minority.
2011-04-16add support for $time_iso8601 formatEric Wong5-2/+78
This appeared in nginx 0.9.6
2011-03-21extconf: unnecessary dir_config statementEric Wong1-1/+0
Braindamage from back in the day when I didn't understand mkmf
2011-03-16:format may be a Symbol for less typingEric Wong2-0/+6
This allows using: use Clogger, :format => :Rack_1_0 Instead of: use Clogger, :format => Clogger::Format::Rack_1_0
2011-03-16fix documentation of Clogger.new for :pathEric Wong1-2/+2
2011-03-15README: misspelled "discusssion"Eric Wong1-1/+1
2011-03-15clogger 0.9.0 - configurable logging for Rack v0.9.0Eric Wong1-1/+1
Under 1.9, we always release the GVL for filesystem operations now to avoid worst case scenarios. This may hurt performance for some folks with bad locking implementations and extremely fast filesystems. A couple of minor cleanups, too.
2011-03-15clogger: remove VERSION constantEric Wong1-3/+0
People shouldn't care, there have been no backwards-incompatible changes in the UI and we're not a library people write code against.
2011-03-13avoid potential RString -> C-string conversionsEric Wong1-12/+14
Unlikely, but it may make a difference somewhere...
2011-03-13release GVL for filesystem operationsEric Wong3-0/+61
While local filesystems are usually very fast, we are pessimistic and should prepare for worst-case scenarios. This can use rb_thread_io_blocking_region() under Ruby 1.9.3dev.
2011-03-13ext: ensure path is a valid C stringEric Wong1-1/+1
Unlikely, but some app could pass '\0' into us
2011-03-13update pkg.mkEric Wong1-10/+14
2011-03-04doc: bogomips.org URL dietEric Wong3-6/+6
Old git URLs still work, but new ones are shorter
2011-03-04ext: avoid potentially unsafe casts with C APIEric Wong1-7/+13
Rubinius may be pickier about what a VALUE is, so we can't safely cast any C address into VALUEs.
2011-01-27pkg.mk: update in case we get rid of C extEric Wong1-2/+3
2011-01-21clogger 0.8.0 - delegating away! v0.8.0Eric Wong2-3/+3
Clogger now delegates all unknown methods to the response body in cases where it needs to wrap the response body. This allows apps that use non-standard Rack extensions to continue working. Eric Wong (4): pass along "to_io" calls to the body delegate method_missing calls to the response body pure: simpler autoload trigger switch to pkg.mk for maintenance tasks
2011-01-21switch to pkg.mk for maintenance tasksEric Wong3-133/+175
I like make :D
2011-01-21pure: simpler autoload triggerEric Wong1-1/+1
No need to actually create the hash, just load the constant
2011-01-21delegate method_missing calls to the response bodyEric Wong3-0/+39
Since we delegated response_to?, we also need to delegate method_missing to the response body in case there are non-standard methods defined outside of Rack.
2011-01-21pass along "to_io" calls to the bodyEric Wong3-1/+25
This optimization is used by Rainbows! to pass IO objects to the response body.
2011-01-14clogger 0.7.0 - portability improvements, cleanups v0.7.0Eric Wong2-3/+3
Broken/crazy systems without CLOCK_MONOTONIC (in varying degrees) and/or clock_gettime() should be supported by using gettimeofday(). Thanks to Lawrence Pit for reporting and helping us test. The Clogger::ToPath proxy class is gone, Clogger itself can proxy to_path/close calls correctly to the response body. $time_utc with a default strftime-format is now supported, and time formats can now be arbitrarily long in the C extension.
2011-01-14properly support $time_utc as documentedEric Wong2-0/+9
nginx doesn't have this, only time_local, but we do
2011-01-14handle abitrarily long time formats in C extensionEric Wong3-12/+44
In case some folks need to use insanely long time formats, we'll support them.
2011-01-14RDoc fixupsEric Wong1-1/+15
call-seq is needed to make C functions look good
2011-01-14remove dead RSTRUCT* compatibility macrosEric Wong1-8/+0
The Clogger::ToPath proxy struct class is gone and so is our need to access it.
2011-01-14remove Clogger::ToPath proxy classEric Wong4-50/+45
We can just make Clogger#respond_to? smarter and forward everything except :close to the body we're proxying.
2011-01-14test_clogger_to_path: do not assume implementation detailsEric Wong1-0/+3
We'll be getting rid of an unnecessary wrapper class
2011-01-14another try to fix systems without CLOCK_MONOTONICEric Wong2-2/+4
Fix a reversed typedef and also deal with the case where CLOCK_MONOTONIC is a function call and not a constant macro.
2011-01-14another workaround for systems with broken CLOCK_MONOTONICEric Wong3-12/+48
This should also detect cases where CLOCK_MONOTONIC is available at build but not at runtime.
2011-01-12attempt to support broken/crazy systemsEric Wong3-0/+29
clock_gettime() is not available on some systems and/or CLOCK_MONOTONIC. This is totally broken considering the POSIX standard was 10 years ago, now. Nothing in gnulib, either, wtf?! http://www.gnu.org/software/gnulib/manual/html_node/clock_005fgettime.html
2011-01-12remove unused function (obj_fileno)Eric Wong1-5/+0
2010-12-26release: publish_news runs by defaultEric Wong2-6/+20
It's interactive and sucks less, now.
2010-12-25README: updatesEric Wong1-3/+1
Remove unnecessary "DESCRIPTION" header, also added note about Rubinius support.
2010-12-25clogger 0.6.0 - :path shortcut, minor bugfixes v0.6.0Eric Wong2-3/+3
Clogger may now be initialized with a :path instead of :logger to avoid typing "::File" in config.ru files to avoid conflicting with the completely-unrelated Rack::File. $request_time is now uses the monotonic clock, making it immune to system clock changes. $usec and $msec statements were completely broken in the pure-Ruby code and now fixed. Rubinius is supported by the optional C extension as well, the pure-Ruby code always worked.
2010-12-25fix $msec and $usec in pure Ruby variantEric Wong2-1/+21
It was totally broken but nobody uses uses it, so it went unnoticed since the beginning of time.
2010-12-25add support for RubiniusEric Wong2-6/+19
RSTRUCT_PTR access is unlikely to ever happen for Rubinius, so we'll just make a method dispatch and leave the faster code for Ruby 1.8 and 1.9.
2010-12-25GNUmakefile: better external RUBYLIB supportEric Wong1-3/+3
2010-12-24eliminate unnecessary freeze and dupEric Wong2-14/+14
They're not needed and a waste of code.
2010-12-24doc: switch to wrongdoc for documentationEric Wong6-154/+33
wrongdoc eliminates JavaScript from our website and also enables us to cut down on our management scripts/code for supporting the project.
2010-12-24GNUmakefile: preserve RUBYLIB env for testsEric Wong1-3/+3
2010-12-24fix #include ordering under FreeBSD 7.2Eric Wong1-2/+2
ruby.h doesn't seem to like being included after time.h
2010-12-24use clock_gettime for time resolutionEric Wong3-26/+43
This lets us use CLOCK_MONOTONIC so we are not affected by system clock changes. We still convert to microseconds instead of nanoseconds for (pure)-Ruby 1.8 code compatibility. There is also little need for nanosecond timer resolution in log files (microsecond is not needed, even).
2010-12-24accept a new :path argument in initializeEric Wong4-14/+58
This lessens confusion for people configuring Clogger in config.ru, since "File" could be mistaken for Rack::File and "::File" needs to be specified.