Software, your way.
burger menu icon
WillMaster

WillMasterBlog > Debugging

FREE! Coding tips, tricks, and treasures.

Possibilities weekly ezine

Get the weekly email website developers read:

 

Your email address

name@example.com
YES! Send Possibilities every week!

Temporary Log Files

When new software is written and installed, logging its variable values as they are used can help find bugs, should they occur, or if someone attempts to use the software in ways it was not meant to operate. The log file then contains a record of software activity.

This is most applicable to software that you write. Other people's software might also be updated to log certain activity when the person doing the updating is sufficiently skilled and understands how the software works.

This is how I do it for software I write.

Near the top of the script are these 2 lines:

$DebugFile = false;
$DebugFile = __DIR__ . '/' . time() . '_SoftwareName.txt';

The first of the above two lines gives $DebugFile the value false. The second of the two lines gives $DebugFile the value of a file name for the log file.

The reason I do it this way is to make it easy to turn logging off and on.

Generally, I will have logging lines throughout the software. Without the ability to easily turn logging off and on at one point in the script, I would need to locate every individual logging line and then disable or enable it.

To turn logging off, place a # character in front of the second line. To turn logging back on, remove the # character.

Now you are ready to insert the lines that will cause entries in the log file.

Here is a template:

if($DebugFile) { file_put_contents($DebugFile,__LINE__.":\n".INFORMATION."\n\n",FILE_APPEND); }

To use the above template, replace INFORMATION with whatever should be logged. Insert the updated line into the software at the point where logging should occur.

The first logging line I generally log is a date/timestamp. For that INFORMATION is replaced with the date('r') command.

if($DebugFile) { file_put_contents($DebugFile,__LINE__.":\n".date('r')."\n\n",FILE_APPEND); }

To log the value of a scalar variable, replace INFORMATION with the variable name. To publish the value of a variable $MyName, for example, the logging line would be.

if($DebugFile) { file_put_contents($DebugFile,__LINE__.":\n".$MyName."\n\n",FILE_APPEND); }

Place the logging line where $MyName is available and at the point where you want to know its value.

To log the value of an array variable, replace INFORMATION with the print_r() function for the array. To publish the value of array $Months, for example, use print_r($Months). Example:

if($DebugFile) { file_put_contents($DebugFile,__LINE__.":\n".print_r($Months)."\n\n",FILE_APPEND); }

The print_r() function prints each value of the array into the log file.

Place your modified log lines into your software wherever you need or want to know the values of variables. They can be invaluable when chasing down an anomaly.

(This content first appeared in Possibilities newsletter.)

Will Bontrager

Was this blog post helpful to you?
(anonymous form)

Support This Website

Some of our support is from people like you who see the value of all that's offered for FREE at this website.

"Yes, let me contribute."

Amount (USD):

Tap to Choose
Contribution
Method


All information in WillMaster Blog articles is presented AS-IS.

We only suggest and recommend what we believe is of value. As remuneration for the time and research involved to provide quality links, we generally use affiliate links when we can. Whenever we link to something not our own, you should assume they are affiliate links or that we benefit in some way.

Recent Articles in the Library

The HTML Q Tag

Create a style then use the HTML q tag to apply the style. This is about as easy as it gets for attracting attention to quotes.

Plain Text To HTML Converter

Here is a function to convert plain text from a form textarea field into HTML for publishing on a web page or in an email.

HTML for Meme Making

No fancy image creation software is needed to make memes. An easy way is to create a web page with text over an image or color background and screenshot it.

Image Color Saturation

The CSS filter:saturate() declaration can be used to lesson color saturation and to intensify color saturation of images.

PDF to Text Conversion

If you can use a PDF to text converter and your website is on a Linux machine, this one should do you well.

Text Emphasis

When your writing can be improved with the correct emphasis, this CSS may be used.

Dropdown Links

I used to see many dropdown links during the earlier part of my internet experience.

How Can We Help You? balloons
How Can We Help You?
bullet Custom Programming
bullet Ready-Made Software
bullet Technical Support
bullet Possibilities Newsletter
bullet Website "How-To" Info
bullet Useful Information List

© 1998-2001 William and Mari Bontrager
© 2001-2011 Bontrager Connection, LLC
© 2011-2025 Will Bontrager Software LLC