Skip to content
Browse files

Merge pull request #1 from gf3/master

NPM 1.0 Compatibility ( @gf3 <3 )
  • Loading branch information...
2 parents c01fea9 + b5c0568 commit cea0b18afa9f014e6fcf5065482e5404694e6363 @bentruyman committed May 31, 2011
View
81 node_modules/coloured/README.md
@@ -0,0 +1,81 @@
+# Coloured
+
+Pretty colours in your terminal. This is a node.js port of [defunkt's colored](http://github.com/defunkt/colored).
+
+ Colour.extendString()
+ console.log( "this is red".red() )
+ console.log( "this is red with a blue background (read: ugly)".red_on_blue() )
+ console.log( "this is red with an underline".red().underline() )
+ console.log( "this is really bold and really blue".bold().blue() )
+
+![Screenshot](http://img.gf3.ca/4f615cb56fb1a090ff4e36eb88247258.png)
+
+For more examples see `example/example.js`.
+
+## Colours & Extras
+
+As a convenience all colours and extras are available as methods on strings.
+Colours may be specified alone (e.g. `red`), or they may be specified with
+a background like so `foreground_on_background` (e.g. `black_on_cyan`).
+
+* black
+* red
+* green
+* yellow
+* blue
+* magenta
+* cyan
+* white
+
+Extras are used the same as colours.
+
+* clear
+* bold
+* underline
+* reverse
+
+## Installation
+
+With npm: `npm install coloured`
+
+With git: `git clone git://github.com/gf3/coloured.git`
+
+## API
+
+When `require`'d this module returns a Colour object with the following methods
+and properties.
+
+### Methods
+
+`Colour.extendString( nativeProto ) → Undefined`
+
+* `native` - Prototype to extend. Default: `String.prototype`.
+
+`Colour.colourise( string, options ) → String`
+
+* `string` - String to be coloured. **Required**.
+* `options` - Object with any of the following properties: `foreground`, `background`, `extra`. Default: `{}`.
+
+`Colour.colour( name, background ) → String`
+
+* `name` - Colour name (e.g. `"red"`). **Required**.
+* `background` - Set to true if background colour is desired. Default: `false`.
+
+`Colour.extra( name) → String`
+
+* `name` - Extra name (e.g. `"bold"`). **Required**.
+
+### Properties
+
+`Colour.colours → Object` Object containing colour names and values.
+
+`Colour.extras → Object` Object containing extra names and values.
+
+## Author
+
+Written by [Gianni "gf3" Chiappetta](http://github.com/gf3) &ndash; [gf3.ca](http://gf3.ca)
+
+## License
+
+Coloured is [UNLICENSED](http://unlicense.org/).
+
View
25 node_modules/coloured/UNLICENSE
@@ -0,0 +1,25 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+For more information, please refer to <http://unlicense.org/>
+
View
8 node_modules/coloured/example/example.js
@@ -0,0 +1,8 @@
+var Colour = require( '../lib/coloured' )
+Colour.extendString()
+
+console.log( "So I heard you like " + "red".red() + "?" )
+console.log( "Perhaps you like it " + "on green".red_on_green() + "?" )
+console.log( "And maybe some " + "bold".bold() + "?" )
+console.log( "All together".red_on_green().bold() + "?" )
+
View
9 node_modules/coloured/example/example2.js
@@ -0,0 +1,9 @@
+var Colour = require( '../lib/coloured' )
+Colour.extendString()
+console.log( "\n" )
+
+console.log( "this is red".red() )
+console.log( "this is red with a blue background (read: ugly)".red_on_blue() )
+console.log( "this is red with an underline".red().underline() )
+console.log( "this is really bold and really blue".bold().blue() )
+
View
81 node_modules/coloured/lib/coloured.js
@@ -0,0 +1,81 @@
+var Colour = {}
+
+/* ------------------------------ Colours ------------------------------ */
+Colour.colours =
+ { 'black': 30
+ , 'red': 31
+ , 'green': 32
+ , 'yellow': 33
+ , 'blue': 34
+ , 'magenta': 35
+ , 'cyan': 36
+ , 'white': 37
+ }
+
+Colour.extras =
+ { 'clear': 0
+ , 'bold': 1
+ , 'underline': 4
+ , 'reversed': 7
+ }
+
+/* ------------------------------ Colour Methods ------------------------------ */
+// Colourise a given string based on the passed options.
+Colour.colourise = function( string, options ) { var out
+ options = options || {}
+ out = ''
+ if ( options.foreground )
+ out += this.colour( options.foreground )
+ if ( options.background )
+ out += this.colour( options.background, true )
+ if ( options.extra )
+ out += this.extra( options.extra )
+ out += string + this.extra( 'clear' )
+ return out
+}
+
+// Generate an acceptable colour escape code.
+Colour.colour = function( name, background ) { var colour
+ if ( ! name in this.colours )
+ colour = ''
+ else
+ colour = "\033[" + ( this.colours[ name ] + ( background ? 10 : 0 ) ) + "m"
+ return colour
+}
+
+// Generate an acceptable modifier escape code.
+Colour.extra = function( name ) { var extra
+ if ( ! name in this.extras )
+ extra = ''
+ else
+ extra = "\033[" + this.extras[ name ] + "m"
+ return extra
+}
+
+/* ------------------------------ Native Additions ------------------------------ */
+Colour.extendString = function( nativeProto ) {
+ nativeProto = nativeProto || String.prototype
+ Object.keys( Colour.colours ).forEach( function( foreground ) {
+ // Foregrounds
+ Object.defineProperty( nativeProto, foreground, { value: function() {
+ return Colour.colourise( this, { foreground: foreground } )
+ }})
+ // Backgrounds
+ Object.keys( Colour.colours ).forEach( function( background ) {
+ Object.defineProperty( nativeProto, foreground + '_on_' + background, { value: function() {
+ return Colour.colourise( this, { foreground: foreground, background: background } )
+ }})
+ })
+ })
+
+ Object.keys( Colour.extras ).forEach( function( extra ) {
+ // Extras
+ Object.defineProperty( nativeProto, extra, { value: function() {
+ return Colour.colourise( this, { extra: extra } )
+ }})
+ })
+}
+
+/* ------------------------------ Export ------------------------------ */
+module.exports = Colour
+
View
17 node_modules/coloured/package.json
@@ -0,0 +1,17 @@
+{ "name" : "coloured"
+, "description": "Pretty colours in your terminal."
+, "author" : "Gianni Chiappetta <gianni@runlevel6.org> (http://gf3.ca)"
+, "version" : "0.2.0"
+, "main" : "./lib/coloured"
+, "directories" : { "lib" : "./lib" }
+, "engines" : [ "node >=0.1.5" ]
+, "repository" :
+ { "type" : "git"
+ , "url" : "https://gf3@github.com/gf3/coloured.git"
+ }
+, "license" :
+ { "type" : "Public Domain"
+ , "url" : "http://github.com/gf3/coloured/raw/master/UNLICENSE"
+ }
+}
+
View
17 node_modules/log/History.md
@@ -0,0 +1,17 @@
+
+1.2.0 / 2011-05-23
+==================
+
+ * Added sprintf-like `%s` support
+
+1.1.1 / 2010-09-26
+==================
+
+ * Fixed `Log()` initialization without giving a stream [bentruyman]
+
+1.1.0 / 2010-09-26
+==================
+
+ * Added streaming reader capabilities (_pass a readable stream_)
+ * Added `Log()` log level as string support (_alternative of constants_)
+ * Added _./index.js_ so people can clone
View
14 node_modules/log/Makefile
@@ -0,0 +1,14 @@
+
+docs: index.html
+
+index.html: lib/log.js
+ dox \
+ --title "Log.js" \
+ --desc "Tiny logger for [NodeJS](http://nodejs.org)." \
+ --ribbon "http://github.com/visionmedia/log.js" \
+ lib/log.js > $@
+
+docclean:
+ rm -f index.html
+
+.PHONY: docs docclean
View
99 node_modules/log/Readme.md
@@ -0,0 +1,99 @@
+
+# Log.js
+
+ Light-weight logging for [NodeJS](http://nodejs.org), including a
+ streaming log reader.
+
+## Installation
+
+ $ npm install log
+
+## Example
+
+Log level defaults to __DEBUG__ however here we specify __INFO__, and the stream defaults to _stdout_:
+
+ var Log = require('log')
+ , log = new Log(Log.INFO);
+
+ log.debug('preparing email');
+ log.info('sending email');
+ log.error('failed to send email');
+
+Specifying a specific stream:
+
+ var fs = require('fs')
+ , Log = require('log')
+ , log = new Log(Log.DEBUG, fs.createWriteStream('my.log'));
+
+Instead of the log level constants, you may also supply a string:
+
+ var Log = require('log')
+ , log = new Log('warning');
+
+ We can also use `%s` much like `console.log()` to pass arguments:
+
+ log.error('oh no, failed to send mail to %s.', user.email);
+
+## Reader
+
+ To stream a log, simply pass a readable stream instead of a writable:
+
+ var Log = require('log')
+ , fs = require('fs')
+ , stream = fs.createReadStream(__dirname + '/file.log')
+ , log = new Log('debug', stream);
+
+ log.on('line', function(line){
+ console.log(line);
+ });
+
+Example stdout:
+
+ { date: Sun, 26 Sep 2010 01:26:14 GMT
+ , level: 1
+ , levelString: 'ALERT'
+ , msg: 'a alert message'
+ }
+ { date: Sun, 26 Sep 2010 01:26:14 GMT
+ , level: 0
+ , levelString: 'EMERGENCY'
+ , msg: 'a emergency message'
+ }
+
+## Log Levels
+
+ Mirror that of syslog:
+
+ - 0 __EMERGENCY__ system is unusable
+ - 1 __ALERT__ action must be taken immediately
+ - 2 __CRITICAL__ the system is in critical condition
+ - 3 __ERROR__ error condition
+ - 4 __WARNING__ warning condition
+ - 5 __NOTICE__ a normal but significant condition
+ - 6 __INFO__ a purely informational message
+ - 7 __DEBUG__ messages to debug an application
+
+## License
+
+(The MIT License)
+
+Copyright (c) 2009-2010 TJ Holowaychuk &lt;tj@vision-media.ca&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
View
18 node_modules/log/examples/file.js
@@ -0,0 +1,18 @@
+
+/**
+ * Module dependencies.
+ */
+
+var Log = require('../lib/log')
+ , fs = require('fs')
+ , stream = fs.createWriteStream(__dirname + '/file.log', { flags: 'a' })
+ , log = new Log('debug', stream);
+
+log.debug('a debug message');
+log.info('a info message');
+log.notice('a notice message');
+log.warning('a warning message');
+log.error('a error message');
+log.critical('a critical message');
+log.alert('a alert message');
+log.emergency('a emergency message');
View
16 node_modules/log/examples/file.log
@@ -0,0 +1,16 @@
+[Sun, 26 Sep 2010 01:26:14 GMT] DEBUG a debug message
+[Sun, 26 Sep 2010 01:26:14 GMT] INFO a info message
+[Sun, 26 Sep 2010 01:26:14 GMT] NOTICE a notice message
+[Sun, 26 Sep 2010 01:26:14 GMT] WARNING a warning message
+[Sun, 26 Sep 2010 01:26:14 GMT] ERROR a error message
+[Sun, 26 Sep 2010 01:26:14 GMT] CRITICAL a critical message
+[Sun, 26 Sep 2010 01:26:14 GMT] ALERT a alert message
+[Sun, 26 Sep 2010 01:26:14 GMT] EMERGENCY a emergency message
+[Thu, 03 Feb 2011 04:54:39 GMT] DEBUG a debug message
+[Thu, 03 Feb 2011 04:54:39 GMT] INFO a info message
+[Thu, 03 Feb 2011 04:54:39 GMT] NOTICE a notice message
+[Thu, 03 Feb 2011 04:54:39 GMT] WARNING a warning message
+[Thu, 03 Feb 2011 04:54:39 GMT] ERROR a error message
+[Thu, 03 Feb 2011 04:54:39 GMT] CRITICAL a critical message
+[Thu, 03 Feb 2011 04:54:39 GMT] ALERT a alert message
+[Thu, 03 Feb 2011 04:54:39 GMT] EMERGENCY a emergency message
View
15 node_modules/log/examples/reader.js
@@ -0,0 +1,15 @@
+
+/**
+ * Module dependencies.
+ */
+
+var Log = require('../lib/log')
+ , fs = require('fs')
+ , stream = fs.createReadStream(__dirname + '/file.log')
+ , log = new Log('debug', stream);
+
+log.on('line', function(line){
+ console.log(line);
+}).on('end', function(){
+ console.log('done');
+});;
View
17 node_modules/log/examples/stdout.js
@@ -0,0 +1,17 @@
+
+/**
+ * Module dependencies.
+ */
+
+var Log = require('../lib/log')
+ , log = new Log('notice');
+
+log.debug('a debug message');
+log.info('a info message');
+log.notice('a notice message');
+log.warning('a warning message');
+log.error('a error message');
+log.critical('a critical message');
+log.alert('a alert message');
+log.emergency('a emergency %s', 'message');
+log.emergency('a really %s emergency %s', 'bad', 'message');
View
329 node_modules/log/index.html
@@ -0,0 +1,329 @@
+<a href="http://github.com/visionmedia/log.js"><img alt="Fork me on GitHub" id="ribbon" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a><html>
+ <head>
+ <title>Log.js</title>
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
+ <style>body {
+ margin: 0;
+ padding: 0;
+ font: 14px/1.5 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif;
+ color: #252519;
+}
+a {
+ color: #252519;
+}
+a:hover {
+ text-decoration: underline;
+ color: #19469D;
+}
+p {
+ margin: 12px 0;
+}
+h1, h2, h3 {
+ margin: 0;
+ padding: 0;
+}
+table#source {
+ width: 100%;
+ border-collapse: collapse;
+}
+table#source td:first-child {
+ padding: 30px 40px 30px 40px;
+ vertical-align: top;
+}
+table#source td:first-child,
+table#source td:first-child pre {
+ width: 450px;
+}
+table#source td:last-child {
+ padding: 30px 0 30px 40px;
+ border-left: 1px solid #E5E5EE;
+ background: #F5F5FF;
+}
+table#source tr {
+ border-bottom: 1px solid #E5E5EE;
+}
+table#source tr.filename {
+ padding-top: 40px;
+ border-top: 1px solid #E5E5EE;
+}
+table#source tr.filename td:first-child {
+ text-transform: capitalize;
+}
+table#source tr.filename td:last-child {
+ font-size: 12px;
+}
+table#source tr.filename h2 {
+ margin: 0;
+ padding: 0;
+ cursor: pointer;
+}
+table#source tr.code h1,
+table#source tr.code h2,
+table#source tr.code h3 {
+ margin-top: 30px;
+ font-family: "Lucida Grande", "Helvetica Nueue", Arial, sans-serif;
+ font-size: 18px;
+}
+table#source tr.code h2 {
+ font-size: 16px;
+}
+table#source tr.code h3 {
+ font-size: 14px;
+}
+table#source tr.code ul {
+ margin: 15px 0 15px 35px;
+ padding: 0;
+}
+table#source tr.code ul li {
+ margin: 0;
+ padding: 1px 0;
+}
+table#source tr.code ul li p {
+ margin: 0;
+ padding: 0;
+}
+table#source tr.code td:first-child pre {
+ padding: 20px;
+}
+#ribbon {
+ position: fixed;
+ top: 0;
+ right: 0;
+}
+code .string { color: #219161; }
+code .regexp { color: #219161; }
+code .keyword { color: #954121; }
+code .number { color: #19469D; }
+code .comment { color: #bbb; }
+code .this { color: #19469D; }</style>
+ <script>
+ $(function(){
+ $('tr.code').hide();
+ $('tr.filename').toggle(function(){
+ $(this).nextUntil('.filename').fadeIn();
+ }, function(){
+ $(this).nextUntil('.filename').fadeOut();
+ });
+ });
+ </script>
+ </head>
+ <body>
+<table id="source"><tbody><tr><td><h1>Log.js</h1><p>Tiny logger for <a href="http://nodejs.org">NodeJS</a>.</p></td><td></td></tr><tr class="filename"><td><h2 id="lib/log.js"><a href="#">log</a></h2></td><td>lib/log.js</td></tr><tr class="code">
+<td class="docs">
+<p>Initialize a <code>Loggeer</code> with the given log <code>level</code> defaulting
+to <strong>DEBUG</strong> and <code>stream</code> defaulting to <em>stdout</em>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>Number</em> level </p></li><li><p><strong>param</strong>: <em>Object</em> stream </p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="keyword">var</span> <span class="class">Log</span> = <span class="variable">exports</span> = <span class="variable">module</span>.<span class="variable">exports</span> = <span class="keyword">function</span> <span class="class">Log</span>(<span class="variable">level</span>, <span class="variable">stream</span>){
+ <span class="this">this</span>.<span class="variable">level</span> = <span class="variable">level</span> || <span class="variable">exports</span>.<span class="class">DEBUG</span>;
+ <span class="this">this</span>.<span class="variable">stream</span> = <span class="variable">stream</span> || <span class="variable">process</span>.<span class="variable">stdout</span>;
+};</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>System is unusable.</p>
+
+<ul><li><p><strong>type</strong>: <em>Number</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">exports</span>.<span class="class">EMERGENCY</span> = <span class="number integer">0</span>;</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Action must be taken immediately.</p>
+
+<ul><li><p><strong>type</strong>: <em>Number</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">exports</span>.<span class="class">ALERT</span> = <span class="number integer">1</span>;</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Critical condition.</p>
+
+<ul><li><p><strong>type</strong>: <em>Number</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">exports</span>.<span class="class">CRITICAL</span> = <span class="number integer">2</span>;</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Error condition.</p>
+
+<ul><li><p><strong>type</strong>: <em>Number</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">exports</span>.<span class="class">ERROR</span> = <span class="number integer">3</span>;</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Warning condition.</p>
+
+<ul><li><p><strong>type</strong>: <em>Number</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">exports</span>.<span class="class">WARNING</span> = <span class="number integer">4</span>;</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Normal but significant condition.</p>
+
+<ul><li><p><strong>type</strong>: <em>Number</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">exports</span>.<span class="class">NOTICE</span> = <span class="number integer">5</span>;</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Purely informational message.</p>
+
+<ul><li><p><strong>type</strong>: <em>Number</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">exports</span>.<span class="class">INFO</span> = <span class="number integer">6</span>;</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Application debug messages.</p>
+
+<ul><li><p><strong>type</strong>: <em>Number</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">exports</span>.<span class="class">DEBUG</span> = <span class="number integer">7</span>;</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>prototype.
+ </p>
+</td>
+<td class="code">
+<pre><code><span class="class">Log</span>.<span class="variable">prototype</span> = {</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Log emergency <code>msg</code>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>String</em> msg</p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">emergency</span>: <span class="keyword">function</span>(<span class="variable">msg</span>){
+ <span class="this">this</span>.<span class="variable">log</span>(<span class="string">'EMERGENCY'</span>, <span class="variable">msg</span>);
+ },</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Log alert <code>msg</code>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>String</em> msg</p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">alert</span>: <span class="keyword">function</span>(<span class="variable">msg</span>){
+ <span class="this">this</span>.<span class="variable">log</span>(<span class="string">'ALERT'</span>, <span class="variable">msg</span>);
+ },</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Log critical <code>msg</code>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>String</em> msg</p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">critical</span>: <span class="keyword">function</span>(<span class="variable">msg</span>){
+ <span class="this">this</span>.<span class="variable">log</span>(<span class="string">'CRITICAL'</span>, <span class="variable">msg</span>);
+ },</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Log error <code>msg</code>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>String</em> msg</p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">error</span>: <span class="keyword">function</span>(<span class="variable">msg</span>){
+ <span class="this">this</span>.<span class="variable">log</span>(<span class="string">'ERROR'</span>, <span class="variable">msg</span>);
+ },</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Log warning <code>msg</code>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>String</em> msg</p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">warning</span>: <span class="keyword">function</span>(<span class="variable">msg</span>){
+ <span class="this">this</span>.<span class="variable">log</span>(<span class="string">'WARNING'</span>, <span class="variable">msg</span>);
+ },</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Log notice <code>msg</code>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>String</em> msg</p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">notice</span>: <span class="keyword">function</span>(<span class="variable">msg</span>){
+ <span class="this">this</span>.<span class="variable">log</span>(<span class="string">'NOTICE'</span>, <span class="variable">msg</span>);
+ },</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Log info <code>msg</code>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>String</em> msg</p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">info</span>: <span class="keyword">function</span>(<span class="variable">msg</span>){
+ <span class="this">this</span>.<span class="variable">log</span>(<span class="string">'INFO'</span>, <span class="variable">msg</span>);
+ },</code></pre>
+</td>
+</tr>
+<tr class="code">
+<td class="docs">
+<p>Log debug <code>msg</code>.</p>
+
+<h2></h2>
+
+<ul><li><p><strong>param</strong>: <em>String</em> msg</p></li><li><p><strong>api</strong>: <em>public</em></p></li></ul>
+</td>
+<td class="code">
+<pre><code><span class="variable">debug</span>: <span class="keyword">function</span>(<span class="variable">msg</span>){
+ <span class="this">this</span>.<span class="variable">log</span>(<span class="string">'DEBUG'</span>, <span class="variable">msg</span>);
+ }
+};</code></pre>
+</td>
+</tr> </body>
+</html></tbody></table>
View
2 node_modules/log/index.js
@@ -0,0 +1,2 @@
+
+module.exports = require('./lib/log');
View
254 node_modules/log/lib/log.js
@@ -0,0 +1,254 @@
+
+/*!
+ * Log.js
+ * Copyright(c) 2010 TJ Holowaychuk <tj@vision-media.ca>
+ * MIT Licensed
+ */
+
+/**
+ * Module dependencies.
+ */
+
+var EventEmitter = require('events').EventEmitter;
+
+/**
+ * Initialize a `Loggeer` with the given log `level` defaulting
+ * to __DEBUG__ and `stream` defaulting to _stdout_.
+ *
+ * @param {Number} level
+ * @param {Object} stream
+ * @api public
+ */
+
+var Log = exports = module.exports = function Log(level, stream){
+ if ('string' == typeof level) level = exports[level.toUpperCase()];
+ this.level = level || exports.DEBUG;
+ this.stream = stream || process.stdout;
+ if (this.stream.readable) this.read();
+};
+
+/**
+ * System is unusable.
+ *
+ * @type Number
+ */
+
+exports.EMERGENCY = 0;
+
+/**
+ * Action must be taken immediately.
+ *
+ * @type Number
+ */
+
+exports.ALERT = 1;
+
+/**
+ * Critical condition.
+ *
+ * @type Number
+ */
+
+exports.CRITICAL = 2;
+
+/**
+ * Error condition.
+ *
+ * @type Number
+ */
+
+exports.ERROR = 3;
+
+/**
+ * Warning condition.
+ *
+ * @type Number
+ */
+
+exports.WARNING = 4;
+
+/**
+ * Normal but significant condition.
+ *
+ * @type Number
+ */
+
+exports.NOTICE = 5;
+
+/**
+ * Purely informational message.
+ *
+ * @type Number
+ */
+
+exports.INFO = 6;
+
+/**
+ * Application debug messages.
+ *
+ * @type Number
+ */
+
+exports.DEBUG = 7;
+
+/**
+ * prototype.
+ */
+
+Log.prototype = {
+
+ /**
+ * Start emitting "line" events.
+ *
+ * @api public
+ */
+
+ read: function(){
+ var buf = ''
+ , self = this
+ , stream = this.stream;
+
+ stream.setEncoding('ascii');
+ stream.on('data', function(chunk){
+ buf += chunk;
+ if ('\n' != buf[buf.length - 1]) return;
+ buf.split('\n').map(function(line){
+ if (!line.length) return;
+ try {
+ var captures = line.match(/^\[([^\]]+)\] (\w+) (.*)/);
+ var obj = {
+ date: new Date(captures[1])
+ , level: exports[captures[2]]
+ , levelString: captures[2]
+ , msg: captures[3]
+ };
+ self.emit('line', obj);
+ } catch (err) {
+ // Ignore
+ }
+ });
+ buf = '';
+ });
+
+ stream.on('end', function(){
+ self.emit('end');
+ });
+ },
+
+ /**
+ * Log output message.
+ *
+ * @param {String} levelStr
+ * @param {Array} args
+ * @api private
+ */
+
+ log: function(levelStr, args) {
+ if (exports[levelStr] <= this.level) {
+ var i = 1;
+ var msg = args[0].replace(/%s/g, function(){
+ return args[i++];
+ });
+ this.stream.write(
+ '[' + new Date().toUTCString() + ']'
+ + ' ' + levelStr
+ + ' ' + msg
+ + '\n'
+ );
+ }
+ },
+
+ /**
+ * Log emergency `msg`.
+ *
+ * @param {String} msg
+ * @api public
+ */
+
+ emergency: function(msg){
+ this.log('EMERGENCY', arguments);
+ },
+
+ /**
+ * Log alert `msg`.
+ *
+ * @param {String} msg
+ * @api public
+ */
+
+ alert: function(msg){
+ this.log('ALERT', arguments);
+ },
+
+ /**
+ * Log critical `msg`.
+ *
+ * @param {String} msg
+ * @api public
+ */
+
+ critical: function(msg){
+ this.log('CRITICAL', arguments);
+ },
+
+ /**
+ * Log error `msg`.
+ *
+ * @param {String} msg
+ * @api public
+ */
+
+ error: function(msg){
+ this.log('ERROR', arguments);
+ },
+
+ /**
+ * Log warning `msg`.
+ *
+ * @param {String} msg
+ * @api public
+ */
+
+ warning: function(msg){
+ this.log('WARNING', arguments);
+ },
+
+ /**
+ * Log notice `msg`.
+ *
+ * @param {String} msg
+ * @api public
+ */
+
+ notice: function(msg){
+ this.log('NOTICE', arguments);
+ },
+
+ /**
+ * Log info `msg`.
+ *
+ * @param {String} msg
+ * @api public
+ */
+
+ info: function(msg){
+ this.log('INFO', arguments);
+ },
+
+ /**
+ * Log debug `msg`.
+ *
+ * @param {String} msg
+ * @api public
+ */
+
+ debug: function(msg){
+ this.log('DEBUG', arguments);
+ }
+};
+
+/**
+ * Inherit from `EventEmitter`.
+ */
+
+Log.prototype.__proto__ = EventEmitter.prototype;
View
9 node_modules/log/package.json
@@ -0,0 +1,9 @@
+{
+ "name": "log",
+ "description": "Tiny logger with streaming reader",
+ "version": "1.2.0",
+ "author": "TJ Holowaychuk <tj@vision-media.ca>",
+ "keywords": ["log", "logger"],
+ "main": "./lib/log.js",
+ "engines": { "node": ">= 0.2.0" }
+}
View
6 package.json
@@ -1,17 +1,17 @@
{
"name": "coloured-log",
"description": "Combines \"coloured\" and \"log.js\" for super simple pretty logging.",
- "version": "0.9.4",
+ "version": "0.9.5",
"author": "Ben Truyman <bentruyman@gmail.com>",
"repository": {
"type": "git",
"url": "http://github.com/bentruyman/coloured-log"
},
"dependencies": {
"coloured": ">= 0.2.0",
- "log": ">= 1.1.1"
+ "log": ">= 1.2.0"
},
"keywords": ["coloured", "log", "logger"],
"main": "./lib/coloured-log",
"engines": { "node": ">= 0.2.0" }
-}
+}

0 comments on commit cea0b18

Please sign in to comment.
Something went wrong with that request. Please try again.