That is the best way to do it, even with Syslog that is how I filter the types of messages I require ( only way actually ) . I read this and thought you might be interested in it if you have a syslog server for your network devices :
http://www.saidvandeklundert.nl/juniper-syslog-logging.php
To quote :
Remote logging for traceoptions.
One last thing I wanted to go over is the fact that you can send traceoptions towards your syslog server as well. The configuration knob for this cannot be found in the [system syslog ] stanza, it's hidden elsewhere. The following configuration command will transfer output from all activated traces to your syslog server:
set system tracing destination-override syslog host 10.0.0.13
This configuration statement has a system-wide effect. As soon as it is applied, all of the output of your currently activated traces will be send towards the syslog server instead of a local file. You can still choose to store some traces locally. You'll have to configure the 'no-remote-trace' to do so. For example, suppose you are logging all traceoptions to a syslog server but you do not want this to happen for the dhcp-relay traceoptions. If that is the case, you have to add the following to those traceoptions;
set forwarding-options dhcp-relay traceoptions no-remote-trace