Хук get не позволяет получить параметры вызова метода
function sequence(functions) {
return new Proxy(functions, {
get(target, key) {
const val = target[key];
return val instanceof Function
? (...args) => {
console.log(`${key} called with arguments: `, args);
return val.apply(target, args);
}
: val;
},
});
}
боюсь, такое логирование уложит спать боевой проект. Хотя ненадолго можно попробовать.Во первых все логировать не нужно. Можно тупо в коде доктрины апдейты только ловить и логировать, можно иначе извернуться, но вам нужны, очевидно, только апдейты. Которых сомневаюсь что мильён в секунду. Ну и во вторых - просто малореально что-то другое придумать...
Я про логирование запросов к Mongo..
server {
listen 127.0.0.1:4000;
root /var/www/html;
location / {
proxy_pass http://127.0.0.1:3000;
error_page 502 = @local;
}
location @local {
}
}
upstream
(видимо Сергей Соколов имел в виду его):upstream backend {
server 127.0.0.1:3000; # основной сервер
server 127.0.0.1:4001 backup; # сервер на случай неработающего основного
}
# запасной сервер, просто отдаёт статику
server {
listen 127.0.0.1:4001;
root /var/www/html;
}
# Это наш сервер
server {
listen 127.0.0.1:4000;
location / {
proxy_pass http://backend;
}
}
const tempalte = `
<span class="c56 c77 c98">текст</span>
<span class="c101">текст</span>
<span class="c111">текст</span>
<span class="c12 c30 c98">текст</span>
`;
const parser = new DOMParser();
const root = parser.parseFromString(tempalte, 'text/html');
root.querySelectorAll('.c77, .c98, .c101').forEach((element) => {
const content = document.createElement('b');
content.append(...element.childNodes);
element.replaceWith(content);
});
console.log(root.body.innerHTML);
/*
<b>текст</b>
<b>текст</b>
<span class="c111">текст</span>
<b>текст</b>
*/
const template = `
<span class="c56 c77 c98">текст</span>
<span class="c101">текст</span>
<span class="c111">текст</span>
<span class="c12 c30 c98">текст</span>
`.trim();
const classNames = ['c77', 'c98', 'c101'];
let result = template;
for (const className of classNames) {
const expression = new RegExp(`<([\\w-]+)\\s*class=".*${className}.*"\\s*>(.+)</\\1>`, 'gm');
result = result.replace(expression, (match, tag, content) => `<b>${content}</b>`);
}
const classNames = ['c77', 'c98', 'c101'];
const expression = new RegExp(`<([\\w-]+)\\s*class=".*(${classNames.join('|')}).*"\\s*>(.+)</\\1>`, 'gm');
const result = template.replace(expression, (match, tag, className, content) => `<b>${content}</b>`);
Научиться быть руководителем это почти никак. Нужно к этому идти.