Объект console - имеет набор отладочных функций, которые доступны в контексте исполнения программы JavaScript на стороне сервера jCjS.


Свойства (property)

не имеет


Сигналы

не имеет


Функции

Пример использования:

// Функция (возвращает некое значение)
var arg1 = 12;
var arg2 = 'text' + '/' + 'xml';
var retVal = console.function(arg1, arg2, .....);


Сonsole console.log() Функция
Функция для отладочного вывода переменных в лог
Аргументы (6 максимум): Нет ограничений на тип данных
Возвращает объект console

Пример использования 1

console.log(
    server,
    {arg2: [{1:1}, {2:1}, {3:1}]},
    {arg3: 1},
    {arg4: 2},
    {arg5: 3},
    {arg6: 4});

Выведет в браузер следующий код

2015-09-23-15:10:23.589 +1 cmd.js:7 [global]() PostNameConsole: console.log()
jCjSHttpServer(objectName='server'): {
  "auth": "",
  "authOS": false,
  "cfgFile": "../stuff/examples/openHardwareMonitor/jcjs_ohwm.xml",
  "compressor": true,
  "delayAnsMs": 10,
  "etimer_ms": 0,
  "etimer_ns": 2844,
  "etimer_us": 2,
  "gui": true,
  "http_port": 57045,
  "https": false,
  "ignoreSelfSignSsl": false,
  "language": "ru",
  "liveTimeNotUseCookieSec": 600,
  "logTrsh": 4,
  "makeRegistration": false,
  "maxSizeBodyPOST": 4194304,
  "objectName": "server",
  "statFileCacheSec": 0,
  "sysType": "windows",
  "timeout_end": 15000
}
QVariantMap: {
  "arg2: QVariantList": {
    "0: QVariantMap": {
      "1": 1
    },
    "1: QVariantMap": {
      "2": 1
    },
    "2: QVariantMap": {
      "3": 1
    }
  }
}
QVariantMap: {
  "arg3": 1
}
QVariantMap: {
  "arg4": 2
}
QVariantMap: {
  "arg5": 3
}
QVariantMap: {
  "arg6": 4
}

Пример использования 2

console
    .log(server)
    .log({arg2: [{1:1}, {2:1}, {3:1}]})
    .log({arg3: 1})
    .log({arg4: 1})
    .log({arg5: 1})
    .log({arg6: 1})
    .log({arg7: 1})
    .log({arg8: 1})
    .log({arg9: 1});

Выведет в браузер следующий код

2015-09-23-15:10:32.275 +1 cmd.js:2 [global]() PostNameConsole: console.log()
jCjSHttpServer(objectName='server'): {
  "auth": "",
  "authOS": false,
  "cfgFile": "../stuff/tests/_test/jcjs_test.xml",
  "compressor": true,
  "delayAnsMs": 10,
  "etimer_ms": 0,
  "etimer_ns": 3128,
  "etimer_us": 3,
  "gui": true,
  "http_port": 57153,
  "https": false,
  "ignoreSelfSignSsl": false,
  "language": "ru",
  "liveTimeNotUseCookieSec": 600,
  "logTrsh": 4,
  "makeRegistration": false,
  "maxSizeBodyPOST": 4194304,
  "objectName": "server",
  "statFileCacheSec": 0,
  "sysType": "windows",
  "timeout_end": 15000
}
2015-09-23-15:45:48.640 +0 gui_objects.js:58 <anonymous>() Tests: console.log()
QVariantMap: {
  "arg2: QVariantList": {
    "0: QVariantMap": {
      "1": 1
    },
    "1: QVariantMap": {
      "2": 1
    },
    "2: QVariantMap": {
      "3": 1
    }
  }
}
2015-09-23-15:45:48.642 +0 gui_objects.js:59 <anonymous>() Tests: console.log()
QVariantMap: {
  "arg3": 1
}
2015-09-23-15:45:48.644 +0 gui_objects.js:60 <anonymous>() Tests: console.log()
QVariantMap: {
  "arg4": 1
}
2015-09-23-15:45:48.647 +0 gui_objects.js:61 <anonymous>() Tests: console.log()
QVariantMap: {
  "arg5": 1
}
2015-09-23-15:45:48.650 +0 gui_objects.js:62 <anonymous>() Tests: console.log()
QVariantMap: {
  "arg6": 1
}
2015-09-23-15:45:48.653 +0 gui_objects.js:63 <anonymous>() Tests: console.log()
QVariantMap: {
  "arg7": 1
}
2015-09-23-15:45:48.655 +0 gui_objects.js:64 <anonymous>() Tests: console.log()
QVariantMap: {
  "arg8": 1
}
2015-09-23-15:45:48.658 +0 gui_objects.js:65 <anonymous>() Tests: console.log()
QVariantMap: {
  "arg9": 1
}


String console._log() Функция
Функция для отладочного вывода переменных в строку
Аргументы (6 максимум): Нет ограничений на тип данных

var mess = console._log(server);

post.log(mess);


Сonsole console.trace() Функция
Функция для более детального отладочного вывода переменных в лог
Аргументы (6 максимум): Нет ограничений на тип данных
Возвращает объект console

Использованин аналогично console.log()

Пример использования 1

console.testObj={a:[1], b:[1,2]}
console.trace(console)

Выведет в браузер следующий код

2015-09-23-15:10:23.589 +1 cmd.js:7 [global]() PostNameConsole: console.trace()
jCjSConsole(objectName='console'): {
  "function _debug()": 0,
  "function destroyed()": 0,
  "function destroyed(QObject*)": 0,
  "function isBA()": 0,
  "function log()": 0,
  "function position()": 0,
  "function stack()": 0,
  "function trace()": 0,
  "function type()": 0,
  "objectName": "console",
  "testObj: QVariantMap": {
    "a: QVariantList": {
      "0": 1
    },
    "b: QVariantList": {
      "0": 1,
      "1": 2
    }
  }
}

String console._trace() Функция
Функция для более детального отладочного вывода переменных в строку
Аргументы (6 максимум): Нет ограничений на тип данных

var mess = console._trace(server);

post.log(mess);


StringList console.stack(int)
Возврящает цепочку вызовов (при указании аргумента, выводит только необходимую цепочку)

function test(){
    post.log(JSON.stringify(console.stack(),0,2))
}
test();

/* выведет в лог
[
  "test()                   at stuff@tests/_test/all_tests_gui/gui_objects.js:57",
  "<anonymous>()      at stuff@tests/_test/all_tests_gui/gui_objects.js:59",
  "<eval>()           at stuff@tests/_test/all_tests_gui/gui_objects.js:61",
  "evalScript(sname = 'stuff@tests/_test/all_tests_gui/gui_objects.js') at -1",
  "run_scripts_from_dir(dir_name = 'stuff@tests/_test/all_tests_gui')   at init.js:143",
  "<anonymous>()      at init.js:99",
  "initialized()            at init.js:45",
  "<global>()         at -1"
]
*/

function test(){
    post.log(JSON.stringify(console.stack(1),0,2))
}
test();
/* выведет в лог
    "test() at stuff@tests/_test/all_tests_gui/gui_objects.js:57"
*/


StringList console._debug()
Выводит отладочные переменные
Внимание! вывод отладочных сообщений не записывается в лог
и доступен только в jCjSService при запуске с параметром -e

var v1 = 'abcdef',
    v2 = 12345,
    v3 = {g: 1, h: 'xyz'};
console._debug(v1, v2, v3)

/* выведет в stderr (минуя лог файл)
jcjsHelper.js:336 <eval>()
arg1:  "abcdef"
arg2:  12345
arg3:  QMap(("g", QVariant(int, 1) ) ( "h" ,  QVariant(QString, "xyz") ) )
*/


String console.position()
Выводит имя функции, файла, поста и номер строки


function test(){
    post.log( console.position() );
}
test();

/* выведет в log
  jcjsHelper.js:336 test() postsTable:
*/


int console.line()
Возвращает номер строки


String console.file()
Возвращает имя файла


String console.file_line()
Возвращает имя файла и строку в формате file_name.js:123
Идентично вызову console.file() + ':' + console.line()


  • Описание объектов