NLog provides a TraceListener that will route Trace/TraceSource statements to the NLog logging system.
AFAIK log4net does not come with a TraceListener, but it should be easy enough to write one:
How to log Trace messages with log4net?
Also, you didn't ask, but Common.Logging also provides a way to route logging messages (using the Common.Logging abstraction API) to a TraceListener, as well as bridging among the Common.Logging supported platforms.
See Advanced Logging Tasks here:
http://netcommon.sourceforge.net/docs/2.1.0/reference/html/ch01.html
As far as my opinion on your strategy... I think the strategy seems reasonable. I think that I would recommend that you consider using TraceSources rather than the static Trace object. One benefit is that you will have a finer granularity of control (i.e. turn some TraceSources on/off or set them at different levels).