Trendoscope

Logger

Trendoscope Wizard Mis à jour   
Library "Logger"
Logger Library based on types and methods.

Debugging made easy with this simple utility. To enable debugging, we now just need to add 3 lines of code.

import HeWhoMustNotBeNamed/Logger/1 as l
var logger = l.Logger.new(minimumLevel = 'DEBUG')
logger.init()

Once done, use it anywhere in the script with simple logger messages.
logger.trace('TEST Trace Level') 
logger.debug('TEST DEBUG Level') 
logger.info('TEST INFO Level') 
logger.warn('TEST WARN Level') 
logger.error('TEST ERROR Level') 
logger.fatal('TEST FATAL Level')

init(this)
  init will initialize logger table and log stream array
  Parameters:
    this: Logger object
  Returns: void

setPage(this, pageNumber)
  setPage will set current page number of logs to display
  Parameters:
    this: Logger object
    pageNumber: - Page number of logs to display
  Returns: void

nextPage(this)
  nextPage will incremement page number to display on screen
  Parameters:
    this: Logger object
  Returns: void

previousPage(this)
  previousPage will decrement page number to display on screen
  Parameters:
    this: Logger object
  Returns: void

log(this, level, message)
  log will record message to be logged and repopulate logs displayed
  Parameters:
    this: Logger object
    level: logging level. Can be `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, `CRITICAL`. Logs only if log level is higher than Loggers minimul log level set
    message: log message to be recorded
  Returns: void

trace(this, message)
  trace will record message to be logged with level 'TRACE'
  Parameters:
    this: Logger object
    message: log message to be recorded
  Returns: void

debug(this, message)
  debug will record message to be logged with level 'DEBUG'
  Parameters:
    this: Logger object
    message: log message to be recorded
  Returns: void

info(this, message)
  info will record message to be logged with level 'INFO'
  Parameters:
    this: Logger object
    message: log message to be recorded
  Returns: void

warn(this, message)
  warn will record message to be logged with level 'WARN'
  Parameters:
    this: Logger object
    message: log message to be recorded
  Returns: void

error(this, message)
  error will record message to be logged with level 'ERROR'
  Parameters:
    this: Logger object
    message: log message to be recorded
  Returns: void

fatal(this, message)
  fatal will record message to be logged with level 'FATAL'
  Parameters:
    this: Logger object
    message: log message to be recorded
  Returns: void

Log
  Log Object holding log entry
  Fields:
    level: Logging level. Valid values - `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, `CRITICAL`
    message: Logging message
    bartime: bar time at which log is recorded
    bar: bar index at which log is recorded

Logger
  Logger object which can be used for logging purposes
  Fields:
    position: position on chart where logs can be shown. Valid values are table position values. Make sure that the script does not have any other table at this position
    pageSize: size of each page of logs which can be shown on UI. Default is 10
    maxEntries: max size logs to be stored
    pageNumber: current page number of logs to display on chart
    textSize: size of text on debug table to be shown. default is size.small. Other options - size.tiny, size.normal, size.large, size.huge, size.auto
    textColor: text color of debug messages. Default is color.white
    showOnlyLast: If set, shows the logs derived only from last bar. Default is true
    minimumLevel: Minimum level of logs to be considered for logging. Valid values in ascending order - `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`, `FATAL`, `CRITICAL`
    realTime: Print logs based on real time bar. This should be set to true for debugging indicators and false for debugging strategies.
    debugTable: table containing debug messages. It will be set in init method. Hence no need to pass this in constructor
    logs: Array of Log containing logging messages. It will be set in init method. Hence no need to pass this in constructor
Notes de version:
v2

Removed redundant methods.

Updated syntax:

Add below lines to start of your code

import HeWhoMustNotBeNamed/Logger/2 as l
var logger = l.Logger.new(minimumLevel = 'DEBUG')
logger.init()

Use logger at any place below the definition with different levels.

logger.trace('TEST Trace Level') 
logger.debug('TEST DEBUG Level') 
logger.info('TEST INFO Level') 
logger.warn('TEST WARN Level') 
logger.error('TEST ERROR Level') 
logger.fatal('TEST FATAL Level')

Bibliothèque Pine

Dans le véritable esprit de TradingView, l'auteur a publié ce code Pine en tant que bibliothèque open-source afin que d'autres programmeurs Pine de notre communauté puissent le réutiliser. Bravo à l'auteur ! Vous pouvez utiliser cette bibliothèque à titre privé ou dans d'autres publications open-source, mais la réutilisation de ce code dans une publication est régie par notre Règlement.

Clause de non-responsabilité

Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.

Vous voulez utiliser cette bibliothèque?

Copiez le texte dans le presse-papiers et collez-le dans votre script.