Update loggers
This commit is contained in:
100
main.js
100
main.js
@@ -142,7 +142,7 @@ class ClientSession {
|
||||
this.username = username;
|
||||
this.password = password;
|
||||
|
||||
this.logger.log1(`Session created with url ${this.url}, username ${this.username}, password ${this.password} and ID ${this.id}`);
|
||||
this.logger.log1(`Client created with url ${this.url}, username ${this.username}, password ${this.password} and ID ${this.id}`);
|
||||
this.status = ClientSessionStatus.NOT_CONNECTED;
|
||||
}
|
||||
|
||||
@@ -157,6 +157,7 @@ class ClientSession {
|
||||
}
|
||||
|
||||
refresh() {
|
||||
this.logger.log1(`Refreshing client with url ${this.url} and id ${this.id}`);
|
||||
let status = this.status;
|
||||
this.close();
|
||||
if (status === ClientSessionStatus.CONNECTED) {
|
||||
@@ -177,11 +178,11 @@ class ClientSession {
|
||||
connect() {
|
||||
this.connectingPromise.promise = new Promise((resolve, reject) => {
|
||||
if (this.status !== ClientSessionStatus.NOT_CONNECTED) {
|
||||
this.logger.log1("ClientSession already connected");
|
||||
reject("ClientSession already connected");
|
||||
this.logger.log1("Client already connected");
|
||||
reject("Client already connected");
|
||||
return;
|
||||
}
|
||||
this.logger.log1("Connecting to " + this.url);
|
||||
this.logger.log1(`Client connecting to ${this.url}`);
|
||||
this.setStatus(ClientSessionStatus.CONNECTING);
|
||||
try {
|
||||
this.session = smpp.connect({
|
||||
@@ -190,10 +191,10 @@ class ClientSession {
|
||||
}, this.connected.bind(this));
|
||||
this.session.on('error', this.error.bind(this));
|
||||
} catch (e) {
|
||||
this.logger.log1("Connection failed to " + this.url);
|
||||
this.logger.log1("Client connection failed to " + this.url);
|
||||
this.setStatus(ClientSessionStatus.NOT_CONNECTED);
|
||||
this.session.close();
|
||||
reject("Connection failed to " + this.url);
|
||||
reject("Client connection failed to " + this.url);
|
||||
}
|
||||
this.connectingPromise.resolve = resolve;
|
||||
this.connectingPromise.reject = reject;
|
||||
@@ -203,18 +204,18 @@ class ClientSession {
|
||||
|
||||
error(error) {
|
||||
if (error.code === "ETIMEOUT") {
|
||||
this.logger.log1("Connection timed out to " + this.url);
|
||||
this.logger.log1("Client connection timed out to " + this.url);
|
||||
} else if (error.code === "ECONNREFUSED") {
|
||||
this.logger.log1("Connection refused to " + this.url);
|
||||
this.logger.log1("Client connection refused to " + this.url);
|
||||
} else {
|
||||
this.logger.log1("Connection failed to " + this.url);
|
||||
this.logger.log1("Client connection failed to " + this.url);
|
||||
}
|
||||
this.session.close();
|
||||
this.setStatus(ClientSessionStatus.NOT_CONNECTED);
|
||||
}
|
||||
|
||||
connected() {
|
||||
this.logger.log1("Connected to " + this.url);
|
||||
this.logger.log1("Client connected to " + this.url);
|
||||
this.setStatus(ClientSessionStatus.CONNECTED);
|
||||
this.session.on('debug', (type, msg, payload) => {
|
||||
if (type.includes('pdu.')) {
|
||||
@@ -235,22 +236,22 @@ class ClientSession {
|
||||
bind() {
|
||||
this.bindingPromise.promise = new Promise((resolve, reject) => {
|
||||
if (this.status !== ClientSessionStatus.CONNECTED) {
|
||||
this.logger.log1(`Cannot bind, not connected to ${this.url}`);
|
||||
reject(`Cannot bind, not connected to ${this.url}`);
|
||||
this.logger.log1(`Cannot bind, client not connected to ${this.url}`);
|
||||
reject(`Cannot bind, client not connected to ${this.url}`);
|
||||
return;
|
||||
}
|
||||
|
||||
this.logger.log1("Trying to bind to " + this.url)
|
||||
if (this.status !== ClientSessionStatus.CONNECTED) {
|
||||
this.logger.log1(`Cannot bind, not connected to ${this.url}`);
|
||||
this.logger.log1(`Cannot bind, client not connected to ${this.url}`);
|
||||
return;
|
||||
}
|
||||
if (!!!this.username || !!!this.password) {
|
||||
this.logger.log1(`Cannot bind, username or password not set`);
|
||||
this.logger.log1(`Cannot bind client, username or password not set`);
|
||||
return;
|
||||
}
|
||||
this.setStatus(ClientSessionStatus.BINDING);
|
||||
this.logger.log1(`Binding to ${this.url} with username ${this.username} and password ${this.password}`);
|
||||
this.logger.log1(`Client binding to ${this.url} with username ${this.username} and password ${this.password}`);
|
||||
|
||||
this.session.bind_transceiver({
|
||||
system_id: this.username,
|
||||
@@ -264,11 +265,11 @@ class ClientSession {
|
||||
|
||||
bindReply(pdu) {
|
||||
if (pdu.command_status === 0) {
|
||||
this.logger.log1(`Bound to ${this.url} with username ${this.username} and password ${this.password}`);
|
||||
this.logger.log1(`Client bound to ${this.url} with username ${this.username} and password ${this.password}`);
|
||||
this.setStatus(ClientSessionStatus.BOUND);
|
||||
this.bindingPromise.resolve();
|
||||
} else {
|
||||
this.logger.log1(`Bind failed to ${this.url} with username ${this.username} and password ${this.password}`);
|
||||
this.logger.log1(`Client bind failed to ${this.url} with username ${this.username} and password ${this.password}`);
|
||||
this.setStatus(ClientSessionStatus.CONNECTED);
|
||||
this.bindingPromise.reject();
|
||||
}
|
||||
@@ -277,11 +278,11 @@ class ClientSession {
|
||||
send(source, destination, message) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!this.canSend()) {
|
||||
this.logger.log1(`Cannot send message, not bound to ${this.url} or busy`);
|
||||
reject(`Cannot send message, not bound to ${this.url} or busy`);
|
||||
this.logger.log1(`Client cannot send message, not bound to ${this.url} or busy`);
|
||||
reject(`Client cannot send message, not bound to ${this.url} or busy`);
|
||||
return;
|
||||
}
|
||||
this.logger.log1(`Sending message from ${source} to ${destination} with message ${message}`);
|
||||
this.logger.log1(`Client sending message from ${source} to ${destination} with message ${message}`);
|
||||
this.session.submit_sm({
|
||||
source_addr: source,
|
||||
destination_addr: destination,
|
||||
@@ -295,8 +296,8 @@ class ClientSession {
|
||||
sendOnInterval(source, destination, message, interval, count) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!this.canSend() || this.busy) {
|
||||
this.logger.log1(`Cannot send many message, not bound to ${this.url} or busy`);
|
||||
reject(`Cannot send many message, not bound to ${this.url} or busy`);
|
||||
this.logger.log1(`Client cannot send many message, not bound to ${this.url} or busy`);
|
||||
reject(`Client cannot send many message, not bound to ${this.url} or busy`);
|
||||
return;
|
||||
}
|
||||
this.busy = true;
|
||||
@@ -338,8 +339,8 @@ class ClientSession {
|
||||
close() {
|
||||
this.disconnectingPromise.promise = new Promise((resolve, reject) => {
|
||||
if (this.status !== ClientSessionStatus.BOUND && this.status !== ClientSessionStatus.CONNECTED) {
|
||||
this.logger.log1(`Cannot close session, not bound to ${this.url}`);
|
||||
reject(`Cannot close session, not bound to ${this.url}`);
|
||||
this.logger.log1(`Cannot close client, not bound to ${this.url}`);
|
||||
reject(`Cannot close client, not bound to ${this.url}`);
|
||||
return;
|
||||
}
|
||||
this.session.close();
|
||||
@@ -379,22 +380,22 @@ class ClientSessionManager {
|
||||
createSession(url, username, password) {
|
||||
let urlB64 = btoa(url);
|
||||
if (this.sessions[urlB64]) {
|
||||
this.logger.log1(`Session to ${url} already exists`);
|
||||
this.logger.log1(`Client to ${url} already exists`);
|
||||
return this.sessions[urlB64];
|
||||
}
|
||||
this.logger.log1(`Creating session to ${url} with username ${username} and password ${password}`);
|
||||
this.logger.log1(`Creating client to ${url} with username ${username} and password ${password}`);
|
||||
let session = new ClientSession(this.sessionIdCounter++, url, username, password);
|
||||
this.addSession(session);
|
||||
return session;
|
||||
}
|
||||
|
||||
addSession(session) {
|
||||
this.logger.log1(`Adding session with ID ${session.id}`);
|
||||
this.logger.log1(`Adding client with ID ${session.id}`);
|
||||
this.sessions[btoa(session.url)] = session;
|
||||
}
|
||||
|
||||
deleteSession(session) {
|
||||
this.logger.log1(`Deleting session with ID ${session.id}`);
|
||||
this.logger.log1(`Deleting client with ID ${session.id}`);
|
||||
if (session.status === ClientSessionStatus.BOUND || session.status === ClientSessionStatus.CONNECTED) {
|
||||
session.close();
|
||||
}
|
||||
@@ -414,7 +415,7 @@ class ClientSessionManager {
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
this.logger.log1(`Saving sessions to ${CLIENT_SESSIONS_FILE}...`);
|
||||
this.logger.log1(`Saving clients to ${CLIENT_SESSIONS_FILE}...`);
|
||||
fs.writeFileSync(CLIENT_SESSIONS_FILE, JSON.stringify(this.serialize(), null, 4));
|
||||
}
|
||||
|
||||
@@ -422,12 +423,12 @@ class ClientSessionManager {
|
||||
try {
|
||||
let sessions = fs.readFileSync(CLIENT_SESSIONS_FILE);
|
||||
sessions = JSON.parse(sessions);
|
||||
this.logger.log1(`Loaded ${sessions.length} sessions from ${CLIENT_SESSIONS_FILE}...`);
|
||||
this.logger.log1(`Loaded ${sessions.length} clients from ${CLIENT_SESSIONS_FILE}...`);
|
||||
sessions.forEach(session => {
|
||||
this.createSession(session.url, session.username, session.password);
|
||||
});
|
||||
} catch (e) {
|
||||
this.logger.log1(`Error loading sessions from ${CLIENT_SESSIONS_FILE}: ${e}`);
|
||||
this.logger.log1(`Error loading clients from ${CLIENT_SESSIONS_FILE}: ${e}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -481,7 +482,7 @@ class CenterSession {
|
||||
});
|
||||
this.server.listen(this.port);
|
||||
|
||||
this.logger.log1(`Session created with port ${this.port}, username ${this.username}, password ${this.password} and ID ${this.id}`);
|
||||
this.logger.log1(`Center created with port ${this.port}, username ${this.username}, password ${this.password} and ID ${this.id}`);
|
||||
this.status = CenterSessionStatus.WAITING_CONNECTION;
|
||||
}
|
||||
|
||||
@@ -512,11 +513,11 @@ class CenterSession {
|
||||
|
||||
error(error) {
|
||||
if (error.code === "ETIMEOUT") {
|
||||
this.logger.log1("Connection timed out to " + this.port);
|
||||
this.logger.log1("Center connection timed out to " + this.port);
|
||||
} else if (error.code === "ECONNREFUSED") {
|
||||
this.logger.log1("Connection refused to " + this.port);
|
||||
this.logger.log1("Center connection refused to " + this.port);
|
||||
} else {
|
||||
this.logger.log1("Connection failed to " + this.port);
|
||||
this.logger.log1("Center connection failed to " + this.port);
|
||||
}
|
||||
this.setStatus(CenterSessionStatus.CONNECTION_PENDING);
|
||||
}
|
||||
@@ -531,7 +532,7 @@ class CenterSession {
|
||||
this.logger.log1(`Center got a bind_transciever on port ${this.port} with system_id ${pdu.system_id} and password ${pdu.password}`);
|
||||
session.pause();
|
||||
if (pdu.system_id === this.username && pdu.password === this.password) {
|
||||
this.logger.log1(`Connection successful`);
|
||||
this.logger.log1(`Center session connection successful`);
|
||||
session.send(pdu.response());
|
||||
session.resume();
|
||||
session.on('pdu', this.sessionPdu.bind(this, session));
|
||||
@@ -544,7 +545,7 @@ class CenterSession {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.logger.log1(`Connection failed, invalid credentials`);
|
||||
this.logger.log1(`Center session connection failed, invalid credentials`);
|
||||
session.send(pdu.response({
|
||||
command_status: smpp.ESME_RBINDFAIL
|
||||
}));
|
||||
@@ -576,8 +577,8 @@ class CenterSession {
|
||||
notify(source, destination, message) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!this.canSend()) {
|
||||
this.logger.log1(`Cannot send message, no client connected on ${this.port} or busy`);
|
||||
reject(`Cannot send message, no client connected on ${this.port} or busy`);
|
||||
this.logger.log1(`Center cannot send message, no sessions active on ${this.port} or busy`);
|
||||
reject(`Center cannot send message, no sessions active on ${this.port} or busy`);
|
||||
return;
|
||||
}
|
||||
this.logger.log1(`Sending notify message from ${source} to ${destination} with message ${message}`);
|
||||
@@ -594,8 +595,8 @@ class CenterSession {
|
||||
notifyOnInterval(source, destination, message, interval, count) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!this.canSend() || this.busy) {
|
||||
this.logger.log1(`Cannot send many message, no clients connected to ${this.port} or busy`);
|
||||
reject(`Cannot send many message, no clients connected to ${this.port} or busy`);
|
||||
this.logger.log1(`Center cannot send many message, no sessions active to ${this.port} or busy`);
|
||||
reject(`Center cannot send many message, no sessions active to ${this.port} or busy`);
|
||||
return;
|
||||
}
|
||||
this.busy = true;
|
||||
@@ -661,6 +662,7 @@ class CenterSession {
|
||||
}
|
||||
|
||||
closeSession(sessionId) {
|
||||
this.logger.log1(`Closing center session ${sessionId}`);
|
||||
let session = this.sessions.find(session => session._id == sessionId);
|
||||
if (!!session) {
|
||||
session.close();
|
||||
@@ -669,6 +671,7 @@ class CenterSession {
|
||||
}
|
||||
|
||||
deleteSession(sessionId) {
|
||||
this.logger.log1(`Deleting center session ${sessionId}`);
|
||||
let session = this.sessions.find(session => session._id == sessionId);
|
||||
if (!!session) {
|
||||
session.close();
|
||||
@@ -681,6 +684,7 @@ class CenterSession {
|
||||
}
|
||||
|
||||
addSession(session) {
|
||||
this.logger.log1(`Adding center session ${session._id}`);
|
||||
let sessionInfo = this.mapSession(session);
|
||||
this.eventEmitter.emit(CenterSession.SESSION_CHANGED_EVENT, sessionInfo);
|
||||
this.sessions.push(session);
|
||||
@@ -689,8 +693,8 @@ class CenterSession {
|
||||
close() {
|
||||
this.disconnectingPromise.promise = new Promise((resolve, reject) => {
|
||||
if (this.status !== CenterSessionStatus.CONNECTED) {
|
||||
this.logger.log1(`Cannot close session, no clients bound to ${this.port}`);
|
||||
reject(`Cannot close session, no clients bound to ${this.port}`);
|
||||
this.logger.log1(`Cannot close center, no sessions active ${this.port}`);
|
||||
reject(`Cannot close center, no sessions active ${this.port}`);
|
||||
return;
|
||||
}
|
||||
this.sessions.forEach(session => {
|
||||
@@ -744,12 +748,12 @@ class CenterSessionManager {
|
||||
}
|
||||
|
||||
addSession(server) {
|
||||
this.logger.log1(`Adding session with ID ${server.id}`);
|
||||
this.logger.log1(`Adding center with ID ${server.id}`);
|
||||
this.servers[server.port] = server;
|
||||
}
|
||||
|
||||
deleteSession(server) {
|
||||
this.logger.log1(`Deleting server with ID ${server.id}`);
|
||||
this.logger.log1(`Deleting center with ID ${server.id}`);
|
||||
if (server.status === CenterSessionStatus.CONNECTED) {
|
||||
server.close();
|
||||
}
|
||||
@@ -769,7 +773,7 @@ class CenterSessionManager {
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
this.logger.log1(`Saving sessions to ${CENTER_SESSIONS_FILE}...`);
|
||||
this.logger.log1(`Saving centers to ${CENTER_SESSIONS_FILE}...`);
|
||||
fs.writeFileSync(CENTER_SESSIONS_FILE, JSON.stringify(this.serialize(), null, 4));
|
||||
}
|
||||
|
||||
@@ -777,7 +781,7 @@ class CenterSessionManager {
|
||||
try {
|
||||
let servers = fs.readFileSync(CENTER_SESSIONS_FILE);
|
||||
servers = JSON.parse(servers);
|
||||
this.logger.log1(`Loaded ${servers.length} sessions from ${CENTER_SESSIONS_FILE}...`);
|
||||
this.logger.log1(`Loaded ${servers.length} centers from ${CENTER_SESSIONS_FILE}...`);
|
||||
servers.forEach(server => {
|
||||
let createdServer = this.createSession(server.port, server.username, server.password);
|
||||
if (!!server.mode) {
|
||||
@@ -785,7 +789,7 @@ class CenterSessionManager {
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
this.logger.log1(`Error loading sessions from ${CLIENT_SESSIONS_FILE}: ${e}`);
|
||||
this.logger.log1(`Error loading centers from ${CLIENT_SESSIONS_FILE}: ${e}`);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user