Commit e1aed41f by Owo Sugiana

Log yang lebih baik

1 parent b3ee2454
0.1.3 2020-01-16
----------------
- Log yang lebih baik
0.1.2 2019-07-10 0.1.2 2019-07-10
---------------- ----------------
- Web server berhasil dihentikan. - Web server berhasil dihentikan.
......
...@@ -10,21 +10,22 @@ Pemasangan ...@@ -10,21 +10,22 @@ Pemasangan
Buat Python virtual environment:: Buat Python virtual environment::
$ python3 -m venv env $ python3 -m venv ~/env
Awali dengan memasang paket `ebcdic <https://pypi.org/project/ebcdic/>`_ Awali dengan memasang paket `ebcdic <https://pypi.org/project/ebcdic/>`_
yang dibutuhkan `ISO8583 <https://pypi.org/project/ISO8583/>`_:: yang dibutuhkan `ISO8583 <https://pypi.org/project/ISO8583/>`_::
$ env/bin/pip install ebcdic $ ~/env/bin/pip install ebcdic
Pemasangan yang tidak otomatis ini agar tidak menimbulkan kegagalan. Lanjut:: Pemasangan yang tidak otomatis ini agar tidak menimbulkan kegagalan. Lanjut::
$ env/bin/pip install -e 'iso8583-web[testing]' $ git clone https://git.opensipkd.com/sugiana/iso8583-web
$ ~/env/bin/pip install -e 'iso8583-web[testing]'
Saatnya mencoba:: Saatnya mencoba::
$ cd iso8583-web $ cd iso8583-web
$ ../env/bin/pytest iso8583_web/test-conf.py $ ~/env/bin/pytest iso8583_web/test-conf.py
Pastikan tidak ada pesan ``failure``. Bila ada ``warning`` abaikan saja. Kini Pastikan tidak ada pesan ``failure``. Bila ada ``warning`` abaikan saja. Kini
salinlah file konfigurasi:: salinlah file konfigurasi::
...@@ -34,12 +35,9 @@ salinlah file konfigurasi:: ...@@ -34,12 +35,9 @@ salinlah file konfigurasi::
Sesuaikan isi section ``[host_bjb]``. Anda bisa menambahkan host lainnya Sesuaikan isi section ``[host_bjb]``. Anda bisa menambahkan host lainnya
dengan menambahkan awalan ``host_`` pada section. dengan menambahkan awalan ``host_`` pada section.
sugiana@mi ~/opensipkd/iso8583-web $ ../env/bin/pip install
git+https://git.opensipkd.com/sugiana/opensipkd-iso8583-bjb
Jalankan daemon-nya, anggap sebagai pemda (biller):: Jalankan daemon-nya, anggap sebagai pemda (biller)::
$ ../env/bin/iso8583 test-pemda.ini $ ~/env/bin/iso8583 test-pemda.ini
Anda akan mendapat pesan seperti ini:: Anda akan mendapat pesan seperti ini::
......
...@@ -94,6 +94,10 @@ class Log: ...@@ -94,6 +94,10 @@ class Log:
msg = exception_message() msg = exception_message()
self.log_error(msg) self.log_error(msg)
def log_ack(self, iso):
if iso.ack_message:
self.log_error(iso.ack_message)
def log_decode(self, iso): def log_decode(self, iso):
data = iso_to_dict(iso) data = iso_to_dict(iso)
self.log_info('Decode MTI {} Data {}'.format(iso.getMTI(), data)) self.log_info('Decode MTI {} Data {}'.format(iso.getMTI(), data))
...@@ -132,6 +136,7 @@ class CommonConnection(Log): ...@@ -132,6 +136,7 @@ class CommonConnection(Log):
self.log_info('ISO8583 to raw {}'.format([raw])) self.log_info('ISO8583 to raw {}'.format([raw]))
def process(self, raw): def process(self, raw):
self.log_raw_to_iso(raw)
parser = Parser(self, raw) parser = Parser(self, raw)
thread = create_thread(parser.run) thread = create_thread(parser.run)
parser_threads.append((parser, thread)) parser_threads.append((parser, thread))
...@@ -329,6 +334,7 @@ class Parser(Log): ...@@ -329,6 +334,7 @@ class Parser(Log):
self.log_decode(from_iso) self.log_decode(from_iso)
iso = self.connection.job.process(from_iso) iso = self.connection.job.process(from_iso)
if iso: if iso:
self.log_ack(iso)
self.log_encode(iso) self.log_encode(iso)
raw = iso.getRawIso() raw = iso.getRawIso()
self.connection.send(raw) self.connection.send(raw)
...@@ -486,16 +492,22 @@ def inquiry(request, p): ...@@ -486,16 +492,22 @@ def inquiry(request, p):
@jsonrpc_method(endpoint='rpc') @jsonrpc_method(endpoint='rpc')
def payment(request, p): def payment(request, p):
log_web_receive(request, 'payment', p)
conn = validate_rpc(p) conn = validate_rpc(p)
iso = conn.job.payment(p) iso = conn.job.payment(p)
return web_job(conn, iso) r = web_job(conn, iso)
log_web_send(request, 'payment', r)
return r
@jsonrpc_method(endpoint='rpc') @jsonrpc_method(endpoint='rpc')
def reversal(request, p): def reversal(request, p):
log_web_receive(request, 'reversal', p)
conn = validate_rpc(p) conn = validate_rpc(p)
iso = conn.job.reversal(p) iso = conn.job.reversal(p)
return web_job(conn, iso) r = web_job(conn, iso)
log_web_send(request, 'reversal', r)
return r
web_server = {} web_server = {}
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!