rust-cli / rust-cli/human-panic
Custom path to save a panic report
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Rust
- Star
- 1.9k
- Fork
- 65
- Merge trung bình
- 2 giờ 48 phút
- Pull request đã merge (30 ngày)
- 3
Mô tả
Currently Report::persist uses env::temp_dir() to get a base folder to save a panic report
/// Write a file to disk.
pub fn persist(&self) -> Result<PathBuf, Box<dyn Error + 'static>> {
let uuid = Uuid::new_v4().hyphenated().to_string();
let tmp_dir = env::temp_dir();
let file_name = format!("report-{}.toml", &uuid);
let file_path = Path::new(&tmp_dir).join(file_name);
let toml = self.serialize().expect("only using toml-compatible types");
std::fs::write(&file_path, toml.as_bytes())?;
Ok(file_path)
}
However on some platforms TMPDIR may not be defined or be RO (yes, weird but true) . Sure TMPDIR may be overwritten when starting application however it would be nice to configure a base dir either as a parameter to ::handle_dump (breaking change) of through Metadata object
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách đọc Report::persist cùng với các entry point ::handle_dump và Metadata được đề cập trong issue để hiểu thư mục báo cáo được chọn ở đâu. Quyết định cách cấu hình thư mục cơ sở, sau đó xác minh rằng có thể ghi báo cáo vào vị trí đã cấu hình mà vẫn giữ nguyên hành vi mặc định hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- rust
- Lĩnh vực
- tooling
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100