Skip to content

Commit 393643e

Browse files
refactor: restructure parse spectra response and improve logging
Wrap `data` and `version` under `nmriumState`, and rename `errors` to `logs` to capture all log levels (info, warn, error, debug, ...etc) instead of errors only.
1 parent 9b6e833 commit 393643e

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

app/scripts/nmr-cli/src/parse/prase-spectra.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ async function captureSpectraViewAsBase64(nmriumState: Partial<NmriumState>, log
8686
snapshots.push({ id: spectrum.id, image: snapshot.toString('base64') });
8787

8888
} catch (e) {
89-
logger.error({ id: spectrum.id, stage: 'snapshot', details: toMessage(e) }, 'Failed to capture snapshot for spectrum with id: ' + spectrum.id);
89+
logger.error({ id: spectrum.id, stage: 'snapshot', details: toMessage(e) }, `Failed to capture snapshot for spectrum: ${spectrum.id}`);
9090
// browser crashed — close and recreate for next spectrum
9191
await browser.close().catch(() => { });
9292
browser = await launchBrowser();
@@ -108,33 +108,36 @@ interface ProcessSpectraOptions {
108108
function processSpectra(data: NmriumData, options: ProcessSpectraOptions, logger: FifoLogger) {
109109

110110
const { autoDetection = false, autoProcessing = false } = options
111-
112111
for (let index = 0; index < data.spectra.length; index++) {
113112
const inputSpectrum = data.spectra[index]
114113
const is2D = isSpectrum2D(inputSpectrum);
115114
let spectrum = null;
115+
116116
try {
117117

118118
spectrum = is2D ? initiateDatum2D(inputSpectrum) : initiateDatum1D(inputSpectrum);
119119
} catch (e) {
120-
logger.error({ id: inputSpectrum.id, stage: 'parsing', details: toMessage(e) }, 'Failed to parse spectrum with id: ' + inputSpectrum.id);
120+
logger.error({ id: inputSpectrum.id, stage: 'parsing', details: toMessage(e) }, `Failed to parse spectrum: ${inputSpectrum.id}`);
121121
continue;
122122
}
123123

124124
if (autoProcessing) {
125125
try {
126126

127-
isSpectrum2D(spectrum) ? Filters2DManager.reapplyFilters(spectrum) : Filters1DManager.reapplyFilters(spectrum)
127+
isSpectrum2D(spectrum) ? Filters2DManager.reapplyFilters(spectrum) : Filters1DManager.reapplyFilters(spectrum);
128+
logger.info({ id: inputSpectrum.id, stage: 'processing' }, `Processed spectrum: ${inputSpectrum.id}`);
129+
128130
} catch (e) {
129-
logger.error({ id: inputSpectrum.id, stage: 'processing', details: toMessage(e) }, 'Failed to process spectrum with id: ' + inputSpectrum.id);
131+
logger.error({ id: inputSpectrum.id, stage: 'processing', details: toMessage(e) }, `Failed to process spectrum: ${inputSpectrum.id}`);
130132
}
131133
}
132134

133135
if (autoDetection && spectrum.info.isFt) {
134136
try {
135137
isSpectrum2D(spectrum) ? detectZones(spectrum) : detectRanges(spectrum);
138+
logger.info({ id: inputSpectrum.id, stage: 'detection' }, `Detected peaks for spectrum: ${inputSpectrum.id}`);
136139
} catch (e) {
137-
logger.error({ id: inputSpectrum.id, stage: 'detection', details: toMessage(e) }, 'Failed to detect spectrum peaks with id: ' + inputSpectrum.id);
140+
logger.error({ id: inputSpectrum.id, stage: 'detection', details: toMessage(e) }, `Failed to detect peaks for spectrum: ${inputSpectrum.id}`);
138141
}
139142
}
140143

@@ -189,8 +192,8 @@ async function processAndSerialize(
189192
spectra[i] = { ...spectra[i], info, meta }
190193
}
191194
}
192-
const errors = logger.getLogs({ minLevel: 'error' })
193-
outputResult({ data, version, images, errors }, o);
195+
const logs = logger.getLogs();
196+
outputResult({ nmriumState: { data, version }, images, logs }, o);
194197
}
195198

196199
async function loadSpectrumFromURL(options: RequiredKey<FileOptionsArgs, 'u'>, logger: FifoLogger) {

0 commit comments

Comments
 (0)