[Mono-bugs] [Bug 661518] Change Log.D, Log.I, Log.V to Log.Debug, Log.Info, Log.Verbose, etc

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Jan 7 11:33:50 EST 2011



Jonathan Pryor <jpryor at novell.com> changed:

           What    |Removed                     |Added
                 CC|                            |jpryor at novell.com

--- Comment #2 from Jonathan Pryor <jpryor at novell.com> 2011-01-07 16:33:50 UTC ---
Thus, question: what should be done about the overloads which take a Throwable?


For example, with jpobst's suggestion, we'd have:

    static void Debug (string tag, string format, params object[] args);

which, personally, I love.

However, what do we do for?

    static void Debug (string tag, string msg, Throwable tr);


    Log.Debug ("tag", "my message: {0}", throwable);

This would call Debug(string,string,Throwable), and thus wouldn't hit the
string.Format() code path.  Oops.


    Log.Debug ("tag", "my message: {0} at {1}", throwable, DateTime.Now);

This will hit the string.Format() code path, and thus would "arguably" be the
wrong one.

I see two solutions:

1. mkestner suggested that we just hide/remove the overloads which take
2. We could "move" the Throwable parameter, resulting in:

    static void Debug (string tag, Throwable tr, string format, params object[]

The problem with (2) is that the overload appears to "insert" parameters,
instead of placing overloaded parameters at the end of the argument list as is
more customary.

Preferences on (1) vs. (2) vs. something else?

Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.

More information about the mono-bugs mailing list