Объект console - имеет набор отладочных функций, которые доступны в контексте исполнения программы JavaScript на стороне сервера jCjS.
не имеет
не имеет
Пример использования:
// Функция (возвращает некое значение) 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()