| /* --COPYRIGHT--,ESD |
| * Copyright (c) 2008 Texas Instruments. All rights reserved. |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v1.0 and Eclipse Distribution License |
| * v. 1.0 which accompanies this distribution. The Eclipse Public License is |
| * available at http://www.eclipse.org/legal/epl-v10.html and the Eclipse |
| * Distribution License is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * Contributors: |
| * Texas Instruments - initial implementation |
| * --/COPYRIGHT--*/ |
| /* |
| * ======== LoggerSys.xdc ======== |
| */ |
| |
| /*! |
| * ======== LoggerSys ======== |
| * A logger which routes events to the `System_printf` function. |
| * |
| * This logger processes log events as they are generated and routes |
| * them through the `{@link System#printf System_printf()}` function. |
| * The final disposition of the log event is dependent on which system |
| * provider has been assigned to the |
| * `{@link System#SupportProxy System.SupportProxy}` configuration parameter. |
| * |
| * Note that the log events are processed within the runtime context |
| * of the `{@link Log Log_write()}` or `{@link Log Log_print()}` function |
| * that generated the event. It is important to account for the processing |
| * overhead and stack usage imposed on the runtime context. The cost of |
| * this processing is defined by the implementation of the system provider. |
| * |
| * @a(Examples) |
| * Configuration example: The following XDC configuration statements |
| * create a logger instance, assign it as the default logger for all |
| * modules, and enable `USER1` logging in all modules of the package |
| * `my.pkg`. See the `{@link Diags#setMaskMeta Diags.setMaskMeta()}` function |
| * for details on specifying the module names. |
| * |
| * @p(code) |
| * var Defaults = xdc.useModule('xdc.runtime.Defaults'); |
| * var Diags = xdc.useModule('xdc.runtime.Diags'); |
| * var LoggerSys = xdc.useModule('xdc.runtime.LoggerSys'); |
| * |
| * var LoggerSysParams = new LoggerSys.Params(); |
| * Defaults.common$.logger = LoggerSys.create(LoggerSysParams); |
| * Diags.setMaskMeta("my.pkg.%", Diags.USER1, Diags.RUNTIME_ON); |
| * @p |
| */ |
| |
| module LoggerSys inherits ILogger { |
| |
| /*! |
| * ======== ITimestampProxy ======== |
| * User supplied time-stamp proxy |
| * |
| * This proxy allows `LoggerSys` to use a timestamp server different |
| * from the server used by `{@link xdc.runtime.Timestamp}`. However, if |
| * not supplied by a user, this proxy defaults to whichever timestamp |
| * server is used by `Timestamp`. |
| */ |
| proxy TimestampProxy inherits ITimestampClient; |
| |
| instance: |
| |
| /*! |
| * ======== create ======== |
| * Create a `LoggerSys` logger |
| * |
| * The logger instance will route all log events it receives to |
| * the {@link System#printf} function. |
| */ |
| create(); |
| |
| internal: |
| |
| struct Instance_State { |
| Bool enabled; |
| }; |
| } |