Index: lib/Log/Simple.pm
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- lib/Log/Simple.pm	(revision )
+++ lib/Log/Simple.pm	(revision )
@@ -76,22 +76,6 @@
     my $print = defined $args{print} ? $args{print} : 1;
     $self->print($print);
 
-    $self->display(
-            time  => 1,
-            label => 1,
-            name  => 1,
-            pid   => 0,
-            proc  => 0,
-    );
-
-    if (defined $args{display}){
-        $self->display($args{display});
-    }
-
-    $self->name($args{name});
-
-    return $self;
-}
 sub level {
     my ($self, $level) = @_;
 
@@ -132,7 +116,7 @@
     if (defined $file && $self->{file} && $file ne $self->{file}){
         close $self->{fh};
     }
-    $mode = 'w' if ! defined $mode;
+    $mode = 'a' if ! defined $mode;
     my $op = $mode =~ /^a/ ? '>>' : '>';
 
     open $self->{fh}, $op, $file or die "can't open log file for writing: $!";
@@ -171,15 +155,7 @@
             push @level_list, $levels{$_};
         }
         return @level_list;
-    }
 
-    return %levels;
-}
-sub display {
-    my $self = shift;
-    my ($tag, %tags);
-
-    if (@_ == 1){
         $tag = shift;
     }
     else {
@@ -440,11 +416,65 @@
 
 =head2 level(Ingeger)
 
-Set and return the facility level. Will return the current value
+Set and return the facility level. Will return the current value with a param
+sent in or not. It can be changed at any time. Note that you can set this with
+the C<LS_LEVEL> environment variable, at any time. the next method call
+regardless of what it is will set it appropriately.
 
+=head2 file('file.log', 'mode')
 
+By default, we write to STDOUT. Send in the name of a file to write there
+instead. Mode is optional; we'll append to the file by default. Send in 'w' or
+'write' to overwrite the file.
 
+=head2 display(HASH|Bool)
 
+List of log entry tags, and default printing status:
+    name  => 1, #specified in new() or name()
+    time  => 1,
+    label => 1, # the string value of the level being called
+    pid   => 0, # process ID
+    proc  => 0, # "filename|line number" of the caller
+
+In HASH param mode, send in any or all of the tags with 1 (enable) or 0
+(disable).
+
+You can also send in 1 to enable all of the tags, or 0 to disable them all.
+
+=head2 print(Bool)
+
+Default is enabled. If disabled, we won't print at all, and instead, return the
+log entry as a scalar string value.
+
+=head2 child('name')
+
+This method will create a clone of the existing C<Log::Simple> object, and then
+concatenate the parent's name with the optional name sent in here for easy
+identification in the logs.
+
+All settings employed by the parent will be used in the child, unless explicity
+changed via the methods.
+
+In a module or project, you can create a top-level log object, then in all
+subs, create a child with the sub's name to easily identify flow within the
+log. In an OO project, stuff the parent log into the main object, and clone it
+from there.
+
+=head1 HELPER METHODS
+
+These methods may be handy to the end user, but aren't required for end-use.
+
+=head2 levels('names')
+
+Returns the hash of level_num => level_name mapping.
+
+If the optional string C<names> is sent in, we'll return an array of just the
+names, in numeric order from lowest to highest.
+
+=head2 timestamp
+
+Returns the current time in the following format: C<2016-03-17 17:51:02.241
+>
 
 =head1 AUTHOR
 
