GeSHi Bug Tracker - GeSHi
Viewing Issue Advanced Details
30 core feature N/A 12-03-05 13:50 04-24-06 05:04
BenBE  
nigel  
low  
assigned 1.1.1alpha1  
open  
none    
none  
0000030: Adjustable Debug Information
Although the current system to output debug information is quite nice already, it lacks on some on some situations.

E.g. does it output far too many information ;-)
Often you'll only require special information of the parsing process. Information about the language loading process should then be discarded from the user.

A possible solution to reach this would be using a bit set in the debug outputs:
The lowest 3 bits define the error level (undefined, notice, hint, warning, error, fatal, critical, security, ...) while the others define the influence (bit by bit).

So you could easily tell: This message is a notice that refers to parsing, while another message could be a warning related to language loading simply by combining two consts:

DBG_TYPE_UNDEFINED = 0 --> DBG_TYPE_SECURITY = 7
and
DBG_PART_INIT = 8
DBG_PART_LOADING = 16
DBG_PART_STYLEING = 32
DBG_PART_ANALYZING = 64
DBG_PART_PARSING = 128
DBG_PART_OUTPUT = 256
...

If someone is only interested in everything above warning level related to parsing he simply could tell
$geshi->setDbgLevel = DBG_TYPE_WARNING | DBG_PART_PARSING and the debugger could filter appropriatly.
Could be done with DBG_PART-indexed array just the same.
Use any debug level above 0 and search for the interesting information ;-)

Notes
(0000096)
nigel   
12-05-05 09:47   
Well it does output a lot of information for sure.

Though this might be a bit slow to fix. I might define those constants and then start using them with new debug lines, and then change old ones when I need them, but I'm not going to trawl through the whole source changing them all.

So this one will be fixed, "slowly".
(0000099)
BenBE   
12-05-05 13:45   
Well, NP with that. Was suggestion for improving the density of information packed into the debug output. It's just a question of scrolling when you get 2-4 pages with output for the loading of a language file you don't care at the time you concentrate on parsing special syntactic cases.
(0000121)
nigel   
12-11-05 16:24   
I'm having a little trouble trying to fix this one. I can't seem to get combinations like:

Show ONLY notices
Show ONLY loading messages
Show ONLY notices THAT ARE ALSO loading messages

I might change the geshi_dbg function to take two parameters instead of one, or work on it a bit more. But this won't make 1.1.1a3. I just need to think about it a bit more.
(0000347)
nigel   
04-23-06 14:02   
I'm actually busy removing geshi_dbg lines from certain places (class.geshi.php and other noncritical places), and have now made it so that geshi_dbg doesn't take a flag at all. I don't think I will ever "fix" this bug :)
(0000352)
BenBE   
04-24-06 05:04   
*g* Which "bug" *g* It's just a way of telling what goes wrong. For real error's you'll never have the right debug lines in-place before ;-)