mirror of
https://codeberg.org/icewind/haze.git
synced 2026-06-03 17:14:08 +02:00
log count
This commit is contained in:
parent
ff6e771520
commit
794a69f17b
3 changed files with 9 additions and 4 deletions
|
|
@ -33,6 +33,7 @@ pub enum HazeArgs {
|
||||||
Clean,
|
Clean,
|
||||||
Logs {
|
Logs {
|
||||||
filter: Option<String>,
|
filter: Option<String>,
|
||||||
|
count: Option<usize>,
|
||||||
},
|
},
|
||||||
Open {
|
Open {
|
||||||
filter: Option<String>,
|
filter: Option<String>,
|
||||||
|
|
@ -103,7 +104,10 @@ impl HazeArgs {
|
||||||
}),
|
}),
|
||||||
HazeCommand::Db => Ok(HazeArgs::Db { filter }),
|
HazeCommand::Db => Ok(HazeArgs::Db { filter }),
|
||||||
HazeCommand::Clean => Ok(HazeArgs::Clean),
|
HazeCommand::Clean => Ok(HazeArgs::Clean),
|
||||||
HazeCommand::Logs => Ok(HazeArgs::Logs { filter }),
|
HazeCommand::Logs => Ok(HazeArgs::Logs {
|
||||||
|
filter,
|
||||||
|
count: args.next().map(|arg| arg.as_ref().parse()).transpose()?,
|
||||||
|
}),
|
||||||
HazeCommand::Open => Ok(HazeArgs::Open { filter }),
|
HazeCommand::Open => Ok(HazeArgs::Open { filter }),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -272,13 +272,14 @@ impl Cloud {
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn logs(&self, docker: &mut Docker) -> Result<Vec<String>> {
|
pub async fn logs(&self, docker: &mut Docker, count: usize) -> Result<Vec<String>> {
|
||||||
let mut logs = Vec::new();
|
let mut logs = Vec::new();
|
||||||
let mut stream = docker.logs::<String>(
|
let mut stream = docker.logs::<String>(
|
||||||
&self.id,
|
&self.id,
|
||||||
Some(LogsOptions {
|
Some(LogsOptions {
|
||||||
stdout: true,
|
stdout: true,
|
||||||
stderr: true,
|
stderr: true,
|
||||||
|
tail: format!("{}", count),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -57,9 +57,9 @@ async fn main() -> Result<()> {
|
||||||
let cloud = Cloud::get_by_filter(&mut docker, filter, &config).await?;
|
let cloud = Cloud::get_by_filter(&mut docker, filter, &config).await?;
|
||||||
cloud.destroy(&mut docker).await?;
|
cloud.destroy(&mut docker).await?;
|
||||||
}
|
}
|
||||||
HazeArgs::Logs { filter } => {
|
HazeArgs::Logs { filter, count } => {
|
||||||
let cloud = Cloud::get_by_filter(&mut docker, filter, &config).await?;
|
let cloud = Cloud::get_by_filter(&mut docker, filter, &config).await?;
|
||||||
let logs = cloud.logs(&mut docker).await?;
|
let logs = cloud.logs(&mut docker, count.unwrap_or(20)).await?;
|
||||||
for log in logs {
|
for log in logs {
|
||||||
print!("{}", log);
|
print!("{}", log);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue