On Tuesday 29 November 2011, William A. Rowe Jr. wrote: > On 11/27/2011 8:34 AM, Rich Bowen wrote: > > At Apachecon several of us were discussing how error messages > > could be made more helpful without making them paragraphs. Two > > suggestions were made - adding a URL to the message or adding a > > number/code to each error that would then be looked up for more > > information. > > > > Any thoughts on 1) the wisdom of this and 2) the method of > > assigning codes? > > Keep these numeric and it will assist us in later > internationalizing error log messages. I was initially thinking > in terms of using hashed strings into mapping indexes, but such > numeric codes would be valuable.
Well, the number/code will be a number with some prefix (e.g. "AH") for search machine friendliness. The number could later potentially be used for looking up translations, but not without API changes. And I am not sure if that would be the smartest idea. Two log messages that contain exactly the same text but are emitted by different parts of httpd should have two distinct numbers. This may not be the best way to handle translations. For 2.4, I would pass the number as part of the format string. This does not require any code change (in the sense of programming logic) and is therefore still doable in 2.4. > > Ideally we could assign these numbers into the appropriate > apr_errno range. I think this is kind of orthogonal to having numbers in each log message. There is often an APR error code that supplements the log message. The log message says what went wrong and the error code says how it went wrong (e.g. message is "Can't open file %s", error code is ENOENT). But we don't want the error strings for APR error codes to be format strings. The number of the log message however could be listed in the documentation saying that this message happens if a client requests a non-existing URL. On the other hand, we could of course make httpd APIs return httpd- specific apr_errno values that could then be passed in the usual apr_status_t argument to ap_log_*error and be printed like normal APR error messages. But maybe your and Mikhail's mails are showing that we should have some name for these error message numbers that allows to distinguish them from error codes as those returned by system or library calls. Maybe "message tag" or "error tag"?